2011-12-27 12 views
0

を要求するためにTumblrのAPIのV2を使用することができません APIレスポンスいつも同じようなものですInvalid OAuth credentials. Unable to get infoPOSTは私がやろうとしています何

奇妙な部分は私がGETをするときに問題なくAPIに接続できるということです(http://www.tumblr.com/docs/en/api/v2)。 POSTを作成しようとすると私の署名が間違っていなければならないものがなければなりません。ここで

は私のコードです:

$params = array("type" => "quote", "quote"=>"test"); 
$consumer = new OAuthConsumer($consumer_key, $consumer_secret, null); 
$token = new OAuthConsumer($access_token['oauth_token'], $consumer_secret); 
$req_req = OAuthRequest::from_consumer_and_token($consumer, $token, 
"POST", 'http://api.tumblr.com/v2/blog/MY_URL/post', $params); 
$req_req->sign_request(new OAuthSignatureMethod_HMAC_SHA1(), 
$consumer, $token, null); 
$result = $req_req->to_postdata(); 

$ch = curl_init('http://www.tumblr.com/api/write'); 
curl_setopt($ch, CURLOPT_URL, 'http://www.tumblr.com/api/write'); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $result); 

$resultvar_dumpは、以下の

oauth_consumer_key=xxxxxxxx&oauth_nonce=xxxxxxx&oauth_signature=xxxxxx 
&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1325033502&oauth_token=xxxxxx 
&oauth_version=1.0"e=test&type=quote 

私はcurl_inithttp://www.tumblr.com/api/writeを呼び出ししなければならないことを確認していないが、私はまた、運にapi.tumblr.com/v2/blog/{base-hostname}/postで試してみましたがエコー

また、すべての変数をチェックして、トークンがOKであるかどうかを確認しましたうまく動作している。

私はGoogleの30ページに行って、自分と同じ問題を抱えている人を見ているので、正しい方向へのヒントはありがたいです。

答えて

0

私は約1年前に書かれたthis libraryで成功しています。

カールの前に結果のダンプを確認したところ、それはあなたのものと多かれ少なかれ同じように見えました。その違いがわかりません。

関連する問題