TwitterOAuthAPI.com上的文档至少还有很多不足之处。然而,当与API密钥和秘密以及访问令牌和秘密(传递到TwitterOAuth构造函数(一起使用时,该软件似乎与提升的Twitter API开发者帐户一起工作。
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token, $access_token_secret);
然而,对于Essentials帐户,只能访问OAuth 2,Twitter似乎为其提供了客户端ID和客户端机密。如果我尝试将访问令牌和访问机密与Essential帐户(未提升或学术(一起使用,它会返回一个状态,表明需要提升的帐户或学术帐户才能使用v1 API(。
TwitterOAuthAPI的开发者目前只荣幸地提到了v2 Twitter API和一个小代码段,这似乎表明我们所要做的就是
$connection->setApiVersion('2');
但这并不奏效$连接->get不再检索数据,$connection->post不再发布状态更新-只是一个空白页面,我可以告诉(没有错误或任何东西,只是空白(。
因此,我对客户端ID和密钥如何与我认为的访问令牌和访问令牌密钥(?(的替代系统一起使用感到非常困惑。
如果有人知道如何使用TwitterOAuthAPI for PHP与Twitterneneneba API的v2和非提升/学术帐户,我将非常感谢任何见解。
感谢您抽出时间,
~G
最近,我在使用TwitterOAuthAPI库从1.1迁移到V2时遇到了问题,我终于让它正常工作了。切换到OAuth 2.0以使用V2并不是强制性的,您仍然可以使用使用者密钥和OAuth令牌。
$oTwitter = new TwitterOAuth("consumer_key", "consumer_secret", "oauth_token", "oauth_token_secret");
这是我在1.1中发布带有图片的推特时使用的代码。
$aImageParams = array();
foreach ($aImages as $key => $pathImg) {
$media = $oTwitter->upload('media/upload', ['media' => $pathImg]);
array_push($aImageParams, $media->media_id_string);
}
$parameters = [
'status' => 'Hello everyone!!',
'media_ids' => implode(',', $aImageParams)
];
$status = $oTwitter->post('statuses/update', $parameters);
现在我在V2中这样做:
$aImageParams = array();
foreach ($aImages as $key => $pathImg) {
$media = $oTwitter->upload('media/upload', ['media' => $pathImg]);
array_push($aImageParams, $media->media_id_string);
}
$parameters = [
'text' => 'Hello V2 !!!',
'media'=> ['media_ids' => $aImageParams]
];
$oTwitter->setApiVersion('2');
$status = $oTwitter->post('tweets', $parameters,true);
图像上传在V2中还不可用,所以我在使用默认版本上传后使用setApiVersion方法。
参考:推特社区的帖子给了我解决方案的钥匙。
端点之间从1.1迁移到V2。
在V2中发布具有所有主体参数的方法API。