twitteroauth php ライブラリを試して、OAuth をよりよく理解しようとしています。
OAuth を介して認証する方法は、cUrl を使用するときに「Authorize」ヘッダーを使用することであると理解しています。ただし、twitteroauth ライブラリのソースを調べると、ヘッダーが投稿リクエストのように設定されていることがわかります。
curl_setopt($ci, CURLOPT_HTTPHEADER, array('Expect:'));
また、「Authorize」ヘッダーに設定する必要があるパラメーターは、実際には次の行ではなく投稿本文に設定されています。
curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
このように行われる理由は何ですか?Twitter API ガイドラインでは、ヘッダーの次の実装が指定されている場合:
POST /1/statuses/update.json?include_entities=true HTTP/1.1
Accept: */*
Connection: close
User-Agent: OAuth gem v0.4.4
Content-Type: application/x-www-form-urlencoded
Authorization:
OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog",
oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg",
oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1318622958",
oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb",
oauth_version="1.0"
Content-Length: 76
Host: api.twitter.com
status=Hello%20Ladies%20%2b%20Gentlemen%2c%20a%20signed%20OAuth%20request%21