3

所以,今天早上我收到以下错误:

{"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,所以我去查看它是否有更新,并且似乎这里列出了一个问题

我正在使用 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但它仍然无法正常工作。

4

2 回答 2

4

我的主要问题是我没有完全阅读文档!虽然 url 从1to的变化1.1就足够了,但我没有看到 update_with_media 的新 url,正如文档中所解释的那样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
    );

希望这可以帮助某人。

于 2013-06-12T08:25:48.363 回答
0

不要使用 tmhOauth api,而是使用 abraham 的 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);     
于 2013-06-13T13:27:13.220 回答