2013-06-12 31 views
3

所以,今天早上我得到了以下錯誤:tmhOauth Twitter的API停止了與update_with_media呼叫工作

{"errors": [{"message": "The Twitter REST API v1 will soon stop functioning. 
Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.", 
"code": 68}]} 

因爲我用的是tmhOauth twitter api我去看看是否有它的更新,並且因爲它似乎有是列出的問題here

我使用API​​來更新這樣與媒體的狀態:

$code = $tmhOAuth->request('POST', 'https://upload.twitter.com/1/statuses/update_with_media.json', 
     array(
      'media[]' => "@{$image}", 
      'status' => "{$text}" 
     ), 
     true, // use auth 
     true // multipart 
); 

我發現指出,我應該只是更改鏈接使用1.1而不是1但它仍然沒有工作。

回答

3

我的主要問題是我沒有完全閱讀文檔!雖然從11.1在URL中的變化是足夠的我錯過了不看,對update_with_media新的URL, 作爲documentation說明了一點,就是https://api.twitter.com/1.1/statuses/update_with_media.json,即它的API,而不是舊上傳子域。

所以,現在我的API調用看起來是這樣的,所有的作品再次:

$code = $tmhOAuth->request('POST', 'https://api.twitter.com/1.1/statuses/update_with_media.json', 
     array(
      'media[]' => "@{$image}", 
      'status' => "{$text}" 
     ), 
     true, // use auth 
     true // multipart 
    ); 

希望這可以幫助別人。

+0

是$圖像IMAGEURL? – Tahtakafa

+0

@Tahtakafa:是的。 – Nikola

0

而不是使用tmhOauth的API,使用亞伯拉罕的twitteroauth的API(更新至1.1版本):

https://github.com/abraham/twitteroauth/tree/master/twitteroauth

和替換您的代碼如下:

$connection = new TwitterOAuth($twitter_consumer_key, $twitter_consumer_secret, $twAccessToken, $twAccessTokenSecret); 

$parameters = array(
      'media[]' => "@{$image}", 
      'status' => "{$text}" 
     ); 
$code = $connection->post('statuses/update_with_media', $parameters);