みくにっき。

カテゴリー > プログラミング(7)

≪前のページ | main | 次のページ≫

2009/09/14(Mon) :

Love++

ラブプラス オンリーイベント ”ラヴ・インクリメント” Love++
http://www.puniket.com/love_inc/

 

ネーミングセンスいいなぁ。


ていうかプログラマじゃなくても分かるのかしら…

 

サンプルコード:

try {
    otoko o = new LOVEPLUS("nene_anegasaki");
    for (int Love = 0; Love < ∞; Love++) {
        o.Kiss();
    }
} catch (Exception e) {
    Console.WriteLine("人生にエラーが見つかりました。");
}



2009/01/04(Sun) :

Ameba試行錯誤(失敗)

うーん、アメブロにPerlから投稿したいけど、WSSE認証が通らない。。
たぶんPasswordDigestの生成が違っているのだと思うけど…
とりあえず、はてなフォトライフAtomAPIのサンプルコードをベースにして、
下記のようにパスワードをmd5したあとで連結するようにAmeba向け改造をしてみたけど駄目でした。

my $nonce = sha1(sha1(time() . {} . rand() . $$));
my $now = DateTime->now->iso8601 . 'Z';
my $digest = encode_base64(sha1($nonce . $now . md5($ameba_passwd) || ''), '');
my $credentials =
    sprintf(qq(UsernameToken Username="%s",PasswordDigest="%s",Nonce="%s",Created="%s"),
            $ameba_id, $digest,  encode_base64($nonce, ''), $now);

my $req = HTTP::Request->new(GET => $atomURI);
$req->header( Accept => 'application/x.atom+xml, application/xml, text/xml, */*');
$req->header( 'X-WSSE' => $credentials );

print "REQUEST: ".$req->as_string;
print "RESPONSE: ".LWP::UserAgent->new->request($req)->as_string;

という感じでやってみたのだけど、駄目。
レスポンスは下記のよーなもの。

HTTP/1.1 401 Unauthorized
Connection: close
Date: Sat, 03 Jan 2009 15:06:49 GMT
Server: Apache
Content-Length: 83
Content-Type: application/x.atom+xml
Client-Date: Sat, 03 Jan 2009 15:06:49 GMT
Client-Peer: xxx.xxx.xxx.xxx:80
Client-Response-Num: 1
Client-Warning: Missing Authenticate header
Set-Cookie: BIGipServerPool_comment=xxxxxxxxxx.xxxxx.xxxx; expires=Sun, 04-Jan-2009 15:06:49 GMT; path=/

<?xml version="1.0" encoding="UTF-8">
<error>X-WSSE authentication required</error>

こんな感じで冷徹に弾かれました(^^;
あちこち調べたけど他にサンプルコードも無いのでちょっと諦めかけ。。

nonceはなんでもいいはずだし、日付はDateTimeから貰っているから間違ってるとするとDigestの生成部分か、パスワードそのもの?
パスワードは何度も確認したので、やはりコードが違うのでしょうね。

どなたか成功した方いませんかね(苦笑)
とかいって、こんな他力本願では駄目ですねorz

#そもそもアメブロ使うなって話かもしれませんが…(^^;



2009/01/03(Sat) :

Ameba同時投稿の壁

とりあえずAmebaアカウント取得したので、既存blogとAmebaの同時投稿を実現しようとごにょごにょしてたんだけど、うまくいきませんでしたorz

とりあえず、前の日記に書いたXML-RPCはやっぱり間違いで、AtomPubでWSSE認証かつAmeba独自仕様(…というかバグじゃね?)が必要というところまで判明。

つーことでXML::Atom::Clientとかめっさ頑張って本番機に入れたけど無意味でしたorz
既存のWSSEをやってくれるライブラリとかが全く役に立たないので自分で実装しないといけないし、画像とか埋め込んだ日には、何段階もの手順を踏まないと投稿できない。。

Windows Live Writerからの直接投稿も、WSSE認証が通らないので当然ながら「403 Forbidden」で駄目。
時間無いからmixi日記の本文投稿の実装も断念してるのに、こんなん無理っしょ。。
BlogPetとかは独自実装してるのかな…

やりたくねーorz



2009/01/03(Sat) :

Amebaはじめました。

なんかSNS色が強いので乗り遅れた感(^^;
つーわけでAmebaに登録してブログを作ってみました。

http://ameblo.jp/mikurins/

しかし、XMLRPCでmetaWeblog.newPostを呼び出すと403 Forbidden。
つーかそれ以前にPerlのXMLRPC::Liteで日本語をぶっこむとエラー(^^;

ぬぅ。

XMLRPC/Lite.pmのほうは「base64 => なんちゃら」の部分で日本語を考慮してなかったのでコメントアウトしたら動きました。

小飼弾氏が別件で同様の対処してましたので、とりあえずライブラリ直接EDITで一時解決。

あとは403 Forbiddenの処置ですが。。
XML-RPCじゃなくてAtomPub使うのかなぁ?

パスワードとかは30回くらい確認したんですが…w



2008/12/27(Sat) :

RSS1.0出力修正

ブログのRSSフィードの日付フォーマットがなんか変だったみたいで。
gooRSSリーダーにフィード読ませたら日付認識してませんでした。

開発中にも確認したはずなんだけどなぁ…。

  • 2008-12-27T23:20:00+09:00

こんな感じの日付フォーマットですが、ハイフン「-」がなかったです。。

なんでかなぁ?
認識違いかにゃ?

IE7とかFirefoxは認識してたから気づかなかったっす。

ひとまず、修正してみました。
まる。



2008/12/27(Sat) :

mixi日記のPOST失敗

ブログシステムから下のようなXMLを投げたら「タイトルなし」&「本文なし」の日記になっちゃった。

<?xml version='1.0' encoding='utf-8'?>
<entry xmlns='http://www.w3.org/2007/app'>
<title>★Quadro CX &times; Adobe CS4</title>
<summary>★Quadro CX &times; Adobe CS4
http://illusions.jp/blog/?id=12

この日記は外部ブログ 「みくにっき。 - ILLUSIONS Blog」
の更新通知です。(via mixi Atom API.)</summary>
</entry>

原因は&times;っていう部分。

「×」を含むタイトルをWindows Live Writerから投げたら「&times;」に変換されたんですが…。
XML的には<![CDATA[ ~ ]]>にしないといけないのかしら?

やばい、ぜんぜんわかってないよ(^^;;;
記号をタイトルに含めるのを避ければ大丈夫そうですが、さて???



2008/12/22(Mon) :

mixi mobile-converter

みなさんこんにちは。
早くも次の更新(^^;
まあ、最初は続くんですよね(笑)

このブログ、更新と同時にmixi日記に更新通知として、

-----
★クリスマスイラスト(旧作^^;)  (友人まで公開)   2008年12月22日01:34

★クリスマスイラスト(旧作^^;)
http://illusions.jp/blog/?id=4

この日記は外部ブログ 「みくにっき。 - ILLUSIONS Blog」
の更新通知です。(via mixi Atom API.)
-----

こんな感じの日記が作成されるようになっています。

 

参考にしたのはこちらのサイト。

■mixi for iPhoneから発掘されたmixi日記投稿用API
http://ido.nu/kuma/2008/07/30/digging-mixi-for-iphone-application-and-new-api-for-posting-a-diary-with-a-photo/

 

ばりばり?Perlですね。

なんですけど、結構苦労しました。
日本語をXMLに突っ込むときにMySQLからDBを引いてくるわけですが、
このサイトのサンプルコードを真似しただけだと、日本語(UTF-8)を入れたときにXMLが壊れちゃって、mixi側でステータス500が帰ってくるという状態でした。

500(Internal Server Error)はやばいだろ…と思ってutf8::decodeとかをやっていたら文字化けした日記が作成されました。
XMLを作る部分、ちゃんとやらないとすごい迷惑なので要注意ですね。

でもまあ、そんなに複雑なXMLを生成するわけでもないので、最終的にDBから引いてきた文字列だけをutf8::encodeして、日本語は普通に「.」で連結して本文を作成したら、うまくいきました。

真似したい方は参考にしてください。
でも、くれぐれもmixiさんに迷惑はかけないようにしましょう。。

◆ ◆ ◆

で、本題です(笑)

この日記にモバイルでアクセスしたら面白いことを発見。
mixiさんすごいですね。
外部リンクをモバイル用に変換して表示してくれました。
このブログは携帯非対応なんですが…見れちゃいました。

で、参考までにそのときのUserAgent。

mixi-mobile-converter/1.0 (http://mixi.jp/)

いやー、mixiさんすごいです。よくできてます。
最近「mixi離れ」的な噂が多いですけど、まだまだがんばってほしいです。

 

投資家目線でもmixiさんの株価動向は気になりますが、さて?(笑)



≪前のページ | main | 次のページ≫


Calendar

<< Jul, 2017 >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

New Entries

Categories

Recent Comments

Archives

過去の記事▼

Feed

RSS1.0 XML Feed

RSSリーダーにドラッグ&ドロップで登録すると記事を読めます。よろしくです♪

おすすめ


ピュアニーモ キャラクターシリーズ No.076 ガリレイドンナ 星月・フェラーリ 完成品ドール[アゾン]《04月予約》


ガリレイドンナ もふもふミニタオル 星月


ガリレイドンナ 缶バッジ 星月・フェラーリ


Microsoft Windows 8.1 Pro (DSP版) 64bit 日本語 発売記念パック 窓辺ファミリーバージョン