Невозможно использовать Tumblr API v2 для выполнения запросов POST - PullRequest
0 голосов
/ 28 декабря 2011

Что я пытаюсь сделать: Подключиться к Tumblr API v2 через PHP и иметь возможность создавать новые сообщения

Проблема: Ответ APIвсегда что-то похожее на Invalid OAuth credentials. Unable to get info

Странная часть в том, что я могу подключиться к API (http://www.tumblr.com/docs/en/api/v2) без проблем при выполнении запроса GET, но должно быть что-то, с чем я, наверное, ошибаюсь)моя подпись, когда я пытаюсь создать 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); 

A var_dump из $result повторяет следующее

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_init должен вызывать http://www.tumblr.com/api/write, но я также попытался с api.tumblr.com/v2/blog/{base-hostname}/post без везения

Я также проверил все переменные, чтобы убедиться, что токены в порядке, и они, кажется, работаютхорошо.

Любой намек в правильном направлении будет оценен, поскольку я зашел на страницу 30 Google, и я просто вижу людей с такой же проблемой, как и я.

1 Ответ

0 голосов
/ 09 июня 2012

У меня был успех с этой библиотекой , которая была написана около года назад.

Я проверил дамп результата перед скручиванием, и он выглядит примерно так же, как ваш, поэтому я не уверен, в чем разница.

...