質問: ツイッターのapiでoauth認証を使用してのapiリクエストについて ツイッターのapiでoauth認証を使用してのapiリクエストについて ツイッターのapiを利用してアプリケーションを開発しています。 oauth認証でアクセストークンの取得まではできたのですが、 アクセストークンを使ってapiにアクセスしたところページが 存在しないとの旨を伝えられました。 ↓実際のソース https://twitter.com/1/statuses/update.xml?in_reply_to_status_id=自分のid(アクセストークンで取得したもの)&oauth_consumer_key=oauthコンシューマキー&oauth_nonce=ランダム文字列&oauth_signature_method=hmac-sha1&oauth_timestamp=タイムスタンプ&oauth_token=アクセストークン&oauth_version=1.0&status=つぶやきたい内容&oauth_signature=署名 上記urlにheader()(リダイレクト)でアクセスしています。simplexml_load_file()や file_get_contents();だと何も取得できませんでした。 特に不安なのがin_reply_to_status_idの指定先と実際のリクエストの仕方が良く わからない事です。何とかして呟きたいのでご教示よろしくお願いいたします。
回答: > header()(リダイレクト)でアクセスしています。 というのがどういうことか良くわかりませんが。 発言系のapiならpostリクエストを送信するので、パラメータがちゃんとhttpヘッダーに設定されている必要があります。urlにパラメータを続けるのはgetリクエストなので、エラーで弾かれるでしょう。 あと、段階的に状況を整理しましょう。 ●そもそもoauth認証が出来ているのか? いきなり発言したりするのではなく、まずはget系のapi、例えばtimelineがちゃんと取得できるかとかから確認してみましょう。 ●oauth認証の注意点 ・signatureが正しく作成されているか ・statusはあらかじめhtmlエンコーディングされている必要がありますが、htmlエンコーディングの仕方によってはtwitter側のチェックで弾かれることがあるようです。 ・パラメータの順番 (apiによってはsignatureに含めないパラメータも存在しますが、それ以外のパラメータはoauthに直接関係するしないに関わらずキーのアルファベット順に並んでいる必要があるようです) ●オプション関係はその後からじっくりと確認しましょう