ラベル API の投稿を表示しています。 すべての投稿を表示
ラベル API の投稿を表示しています。 すべての投稿を表示

2010年8月30日月曜日

twitter::update_profile_image で 500エラー

うーん。最新版のtwitterライブラリに更新したらLIST機能が使えたのは僥倖。

しかし、プロフィール画像の更新がうまくいかない。
関数は、画像ファイルへのパスを渡して呼び出すだけの簡単仕様。
なのに、呼び出しても 「500 Internal server error」が返ってくるだけで更新されない。
Google先生によると、うまくできてる例はいっぱいあるのに。

ライブラリのバグかなぁ・・・・?

2010年8月4日水曜日

アメブロへの投稿 via API

WSSEヘッダの生成でハマったのでメモ。

最初、前任者が livedoorへの投稿で使ってたやり方を踏襲して、

$nonce       = pack('H*', sha1(md5(time().rand().uniqid())));
$created     = date('Y-m-d\TH:i:s\Z');
$digest      = base64_encode(pack('H*', sha1($nonce . $created . strtolower(md5($password)))));
$wsse_text   = 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"';
$wsse_header = sprintf($wsse_text, $username, $digest, base64_encode($nonce), $created);

ってやってた。そしたら全然401エラーから先に進まないの。
参考になるサイトみても、理論上間違ってないし、これで通らない理由がわからん。
で、ふと気付いて。
$nonceの値、なんでこんなややこしいやり方で作ってんの?
どうにも不可思議だったので、極力シンプルに、

$nonce = sha1(md5(time()));
にしてみた。

・・・・・・・・・・・・ 認証通った。


なんじゃそりゃーーーー!!!!!

つわけで、今は記事投稿したら 403になるエラーに遭遇してハマっております。
困ったもんだ。

2010年7月22日木曜日

【twitter API】RT/@/DMの取得

あるtweetへの返信(@)は、
$twitter->statuses->mensions
で取得できる。
また、公式RT(RTされた自分のtweet)は、
$twitter->statuses->retweets_of_me
、ダイレクトメッセージは
$twitter->direct_messages
だ。ここまでは誰でもできそう。
で、問題は非公式RT。いわゆるQTとかも含めて。
これは、調べてみたところ、普通に@として取得できるようだ。
なので、システム上、非公式RTと通常のRT,@を区別して扱いたければ、取得した@をうまくふるいにかけて分類してやる必要がある。
一般的に、非公式RTは、
「@として取得できたtweetのうち、@の前に"RT"が付く」
「@として取得できたtweetのうち、@の前に"QT"が付く」

というようなフィルタリングでだいたいいけると思う。
なので、

$statuses = $twitter->statuses->mensions();
foreach ($statuses as $status) {
     if (preg_match('/(RT|QT) *@/', $status->text)) {
        $memsions['QT'][] = $status;
    } else {
        $mensions['@'][] = $status;
    }
}
var_dump($mensions);

こんな感じ?で分類できるのかな?試してないけど。

2010年6月18日金曜日

youtube gdata API

最後の仕上げに youtubeのAPIから情報を取得するモジュールを調べてる。
けど、なんだこれ。
I/Fの仕様はきっちり決まっててドキュメントもあるかわ、実装自体は楽なんだけど、動作がイチイチ怪しい。
inboxに入ってるメッセージの一覧を取ろうとしてるんだけど、何も返って来ない。
自分のチャンネルに登録してある動画の再生回数を調べようとしたら、どうやっても0しか返って来ない。
んー。動画のフィード自体は正常に取れるみたいだから、登録した動画のフィードをひとつずつ取って、再生回数カウントしていけばいいんだけど、inboxの方はどうしようもないね。
gmail経由でデータ取るしかないのかなぁ。

参考URL:
http://code.google.com/intl/ja/apis/youtube/developers_guide_php.html
http://code.google.com/intl/ja-JP/apis/youtube/reference.html

2010年6月17日木曜日

mixiのAPI

もうね、すんごいウザっ!

本文にURLをつけるとですね、かなりの確率ではじかれます。
URLの長さなのか、ドメイン判別してるのか知らないけど。
はじかれるだけならいいんだけど、POSTできない、っていうんじゃなくて、空のデータがPOSTされちゃう。
困るよね、こんな仕様。

受け付けないならブロックしろよ、と。

URL短縮しちゃえば問題ないんだけどね。

bit.lyよ、お前モカ

URL短縮でよく使われる有名な bit.lyですが、このほど、APIへのアクセスでエラーが多発するようになりました。

(#208) You have exceeded your hourly rate limit for this method.

ぐはっ使いすぎ、でつか。
もう自前でつくろうかな・・・