推特 API 错误 220 -: twitteroauth

Posted

技术标签:

【中文标题】推特 API 错误 220 -: twitteroauth【英文标题】:TWITTER API error 220 -: twitteroauth 【发布时间】:2013-11-20 20:28:09 【问题描述】:

大家晚上好,

我正在使用来自 https://github.com/abraham/twitteroauth 的 php 代码

登录效果很好,但是在尝试向 Twitter 发布状态时出现以下错误:

stdClass Object ( [errors] => Array ( [0] => stdClass Object ( [code] => 220 [message] =>      Your credentials do not allow access to this resource. ) ) )

我正在使用以下代码:

session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'],
$_SESSION['oauth_token_secret']);

$token_credentials = $connection->getAccessToken($_REQUEST['oauth_verifier']);


$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $token_credentials['oauth_token'],
$token_credentials['oauth_token_secret']);

$account = $connection->get('account/verify_credentials');
$status = $connection->post('statuses/update', array('status' => 'Text of status here'));

我已按照与网站相同的说明进行操作。我哪里错了?

【问题讨论】:

您的应用程序是否要求允许代表用户发帖? 是的。他们基本上是登录。返回网站后,会生成一个帖子,然后他们会发布到他们的个人资料中。发布是导致错误的原因 $account = $connection->get('account/verify_credentials');返回? 阅读此内容可能是个好主意:dev.twitter.com/docs/auth/application-only-auth 看来您正在将请求作为应用程序级别的身份验证而不是作为用户请求。当您尝试以用户身份发布时会引发错误 220,而实际上您仅作为应用发布。返回并将这些步骤分成一个回调,该回调写入访问令牌并且不在同一页面上请求它。您没有验证您是否确实获得了访问令牌。我建议您将代码分解为请求令牌 [删除请求令牌] 并传递到帖子页面的回调页面。 【参考方案1】:

在你的情况下,你必须在 twitter 上创建一个 api 吗? https://apps.twitter.com/ 如果你这样做了,请检查你的 api 的配置。 此链接可能会有所帮助。 https://dev.twitter.com/docs/auth/oauth/faq

【讨论】:

以上是关于推特 API 错误 220 -: twitteroauth的主要内容,如果未能解决你的问题,请参考以下文章

推特机器人可以发布推文(或引用)mla V2 API 吗? (基本访问)

ROAuth 不再用于支持 httr? [推特 API]

推特 API v1.1

新浪微博登录总显示出错了,出错代码为10001

Python API 数据收集社交媒体 API 和地理位置 I.E.推特

推特网页版无法进入,无限显示错误请重试?