所有,我一直都在达到速率限制。 我只是想从自己的时间表中获取最新状态。 我正在使用以下代码来实现这一目标:

$url = "https://api.twitter.com/1/statuses/user_timeline.json?screen_name={$username}&count={$how_many}";
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, $url );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
$contents = curl_exec( $curl );
curl_close( $curl );
if ( ! empty( $contents ) ) {
    // Decode it.
    $tweet = json_decode( $contents );
    // Cache it for next time.
    set_transient( $id.'-'.$username, $tweet, 60*60*12 ); // 3 hour cache
}

效果很好,但我一直都达到每小时150个请求的速率限制。 我已经读过,如果我通过API进行身份验证,则速率限制将被取消。 谁能解释该怎么做?

提前致谢!

===============>>#1 票数:1 已采纳

您是否需要每隔4分钟刷新一次状态? 我猜不是,您实际上是在代码中设置了3小时的缓存,所以为什么不使用它呢?

if(get_transient($id.'-'.$username) === false) {
    $url = "https://api.twitter.com/1/statuses/user_timeline.json?screen_name={$username}&
    count={$how_many}";
    $curl = curl_init();
    curl_setopt( $curl, CURLOPT_URL, $url );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
    $contents = curl_exec( $curl );
    curl_close( $curl );
    if ( ! empty( $contents ) ) {
        // Decode it.
        $tweet = json_decode( $contents );
        // Cache it for next time.
        set_transient( $id.'-'.$username, $tweet, 60*60*12 ); // 3 hour cache
    }
}

显然,您可以根据需要减少缓存的持续时间。

===============>>#2 票数:0

Twitter REST API的费率与您所声明的完全相同-未经身份验证的请求(通过IP地址)为150,对于Oauth身份验证的请求为350。 我过去所做的是查看您的查询,并使用Search API-进行更有效的调用。 或者,从不同的虚拟IP地址执行更多呼叫。

https://dev.twitter.com/docs/rate-limiting#rest发送未经验证的呼叫,每小时允许150个请求。 未经认证的呼叫将根据发出请求的服务器或设备的面向公众的IP进行衡量。 每小时允许进行350个请求的OAuth调用,并根据请求中使用的oauth_token进行度量。

您再也不会白名单中了。 这是支持此操作的链接

有关直接来自Twitter的PHP的示例,请在此处尝试并查看PHP Twitter库。 本质上,您必须通过设置Twitter应用程序并接收Oauth密钥和密钥来建立Oauth连接。

  ask by user1048676 translate from so

未解决问题?本站智能推荐:

1回复

Twitter API php oauth身份验证失败

如果我的twitterInput值为用户名,则身份验证可以正常进行。 但是,如果它是一个主题标签,它将失败。 搜索查询也已正确编码。 我的是?q =%23hashtagName,而不是?q =%2523hashtagName。 我意识到以前编码太多。 所有身份验证代码均已正确生
1回复

从Twitter API 1切换到1.1(添加身份验证)

目前,我使用此代码来检索时间轴上的最新6条推文。 我阅读了Twitter文档,但不明白如何实现我创建的应用程序的Auth密钥。
1回复

Twitter API中的“无法验证您”错误

我正在使用Abhraham的twitter API库。 我的index.php 我的redirect.php 但是我不明白为什么我在redirect.php页面上收到"Could not authenticate you"
1回复

Twitter API错误32无法验证您的身份

尝试使用twitter API将时间轴加载到我的网站上,但出现错误(code:32, message:Could not authenticate you) 。 但是我似乎看不到代码中的错误,请帮助下面的代码,谢谢。 码:
1回复

使用搜索查询时,Twitter API无法验证

我正在尝试在PHP中使用Twitter API列出与主题标签匹配的推文: 但是我得到这个错误: 我做错了什么? Twitter上我的应用程序部分中的所有令牌和密钥都是正确的...因此无法理解为什么出现此错误。 如果我这样做: https://api.twitter.com
1回复

无法使用OAUTH对Twitter API进行身份验证

我正在尝试使用Drupal向Twitter验证自定义应用程序。 由于某些原因,即使我包含OAuth凭据,也无法使用Twitter API进行身份验证。 这是我的代码: 我得到的答复是: 尽管我可以使用此控制台: https://dev.twitter.com/r
1回复

Twitter身份验证api缺少秘密

我正在尝试通过Twitter端点https://api.twitter.com/oauth/authenticate?oauth_token=xxxxxxxxxxxxxxxxxxxxxx进行身份验证 使用twitter提供的登录屏幕后,我将以下响应发送到回调脚本: 我期望看到“ o
1回复

Twitter Api-如何验证是否有人关注我

我在Twitter Api上真是个菜鸟,我需要帮助! 那我现在有什么? 我创建了一个表单,通过单击Twitter上的关注按钮,我的网站的成员可以关注某人。 好的,下面的部分已经完成了,但是如果成员单击“声明免费复制”按钮以获取错误信息(如果他不关注),那么我该如何检查该表单,如果该成员关注
1回复

如何保持身份验证以发布到Twitter API?

除了现有的用户数据库外,我还存储了twitter user_ids的关系。 我目前使用它来允许用户通过其oauth api使用Twitter登录到其帐户 但是,我现在想利用此帐户链接允许用户在我的网站上登录其帐户时将其更新从我的网站发布到Twitter。 请注意,用户不必使用Twitt
3回复

使用Twitter OAuth API进行身份验证

我目前正在尝试将twitter集成到我正在使用OAuth的php web应用程序中。 我有一个HTML页面,提供了一个链接到twitter应用程序验证URL,它似乎工作正常,并显示验证屏幕。 下面是调用该函数的代码。 consumer_key和consumer_secret包