うーん。最新版のtwitterライブラリに更新したらLIST機能が使えたのは僥倖。
しかし、プロフィール画像の更新がうまくいかない。
関数は、画像ファイルへのパスを渡して呼び出すだけの簡単仕様。
なのに、呼び出しても 「500 Internal server error」が返ってくるだけで更新されない。
Google先生によると、うまくできてる例はいっぱいあるのに。
ライブラリのバグかなぁ・・・・?
write a note about troubles of programming,working day by day. ま、日々仕事でつまづいた事をメモ書き程度にまとめていきますよー。
2010年8月30日月曜日
2010年8月4日水曜日
アメブロへの投稿 via API
WSSEヘッダの生成でハマったのでメモ。
最初、前任者が livedoorへの投稿で使ってたやり方を踏襲して、
ってやってた。そしたら全然401エラーから先に進まないの。
参考になるサイトみても、理論上間違ってないし、これで通らない理由がわからん。
で、ふと気付いて。
$nonceの値、なんでこんなややこしいやり方で作ってんの?
どうにも不可思議だったので、極力シンプルに、
・・・・・・・・・・・・ 認証通った。
なんじゃそりゃーーーー!!!!!
つわけで、今は記事投稿したら 403になるエラーに遭遇してハマっております。
困ったもんだ。
最初、前任者が 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への返信(@)は、
また、公式RT(RTされた自分のtweet)は、
で、問題は非公式RT。いわゆるQTとかも含めて。
これは、調べてみたところ、普通に@として取得できるようだ。
なので、システム上、非公式RTと通常のRT,@を区別して扱いたければ、取得した@をうまくふるいにかけて分類してやる必要がある。
一般的に、非公式RTは、
「@として取得できたtweetのうち、@の前に"RT"が付く」
「@として取得できたtweetのうち、@の前に"QT"が付く」
というようなフィルタリングでだいたいいけると思う。
なので、
こんな感じ?で分類できるのかな?試してないけど。
$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
けど、なんだこれ。
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日木曜日
bit.lyよ、お前モカ
URL短縮でよく使われる有名な bit.lyですが、このほど、APIへのアクセスでエラーが多発するようになりました。
(#208) You have exceeded your hourly rate limit for this method.
ぐはっ使いすぎ、でつか。
もう自前でつくろうかな・・・
(#208) You have exceeded your hourly rate limit for this method.
ぐはっ使いすぎ、でつか。
もう自前でつくろうかな・・・
登録:
投稿 (Atom)