6

TwitPic 用に Meltice の API を使用しています。写真をアップロードしようとすると、「認証できませんでした (Twitter によってヘッダーが拒否されました)」というメッセージとともに 401 エラーが発生します。

私のヘッダー (HTTP Request2 オブジェクトから取得) は次のとおりです。

Array
(
    [user-agent] => HTTP_Request2/2.0.0 (http://pear.php.net/package/http_request2) PHP/5.2.17
    [x-verify-credentials-authorization] => OAuth realm="http://api.twitter.com/", oauth_consumer_key="****************", oauth_signature_method="HMAC-SHA1", oauth_token="#########-******************", oauth_timestamp="1325192643", oauth_nonce="***********", oauth_version="1.0", oauth_signature="****************%3D"
    [x-auth-service-provider] => https://api.twitter.com/1/account/verify_credentials.json
    [content-type] => multipart/form-data
)

verify_credentials 署名が GET を使用していることを確認しましたが、他に問題は見られません。

私は何を間違っていますか?

ありがとう :)

編集:これが私のソースコードです。

$venue = $this->Venue->findById($venueId);
$twitterData = json_decode($venue['Venue']['twitter_data']);
$token = $twitterData->token;
$secret = $twitterData->secret;
$this->Twitter->loginTwitterUser($token, $secret);
require_once(WWW_ROOT.'twitpic/TwitPic.php');

$twitpic = new TwitPic('**********', '*******', '*********', $token, $secret);


$result['result'] = $twitpic->upload(array('media'=> '/home/todays/public_html/tsm/app/webroot/files/uploads/LOGOA7V1_10.png', 'message'=> 'test'));

また、トークン、シークレット、およびアプリの資格情報は、私の Twitter API で問題なく動作するため、正しいと確信しています。Twitpic API キーも再確認しました。

4

1 に答える 1

2

TwitPic のドキュメントを確認したところ、401 エラーが説明されていることに気付きました。This method will return a 401 Unauthorized if the OAuth header was not present or could not be verified with Twitter.

verify_credentialsAPI は POST のみを受け入れますが、署名が GET を使用していることを確認したと言っています。多分それはあなたの問題ですか?

使用している API に関連するサンプル コードは次のとおりです。

于 2012-01-06T20:53:20.073 に答える