TwitterOAuth PHP for v2 of the API (with OAuth 2)



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。

相关内容

  • 没有找到相关文章

最新更新