0

我正在开发一个 AutoIt 应用程序,今天我发现 Pushbullet 阻止我从他们的数据库中读取,因为我执行了太多的数据库读取,这是实际的错误消息:

“您因使用此应用程序对每个用户执行过多的数据库读取而被阻止。”

我联系了他们,看看我是否可以删除我的块,但在等待他们的回复时,我也想知道我做错了什么。

我想查找并显示新的通知,所以我使用了以下代码:

$oHTTP = ObjCreate("WinHTTP.WinHTTPRequest.5.1")
$access_token = $PushToken
$oHTTP.Open("Get", "https://api.pushbullet.com/v2/pushes?active=true", False)
$oHTTP.SetCredentials($access_token, "", 0)
$oHTTP.SetRequestHeader("Content-Type", "application/json")
$oHTTP.Send()
$Result = $oHTTP.ResponseText

它设置在一个两分钟的计时器上,我猜这触发了阻塞,但是,在不对他们的数据库执行太多请求(并被阻塞)的情况下,解决这个问题的正确方法是什么?

4

1 回答 1

1

因为这个问题从来没有得到正确的答案。答案是我禁止了一个以低效方式进行大量读取的脚本。我们现在有更好的速率限制:https ://docs.pushbullet.com/#ratelimiting这应该有助于避免这个问题。

要有效地使用 Pushbullet,您应该等待来自流 ( https://docs.pushbullet.com/#stream ) 的痒痒消息,然后获取新项目 ( https://docs.pushbullet.com/#syncing-changes)。如果您只想阅读最近的推送,更简单的方法是调用https://api.pushbullet.com/v2/pushes?limit=1

这对于较小的应用程序来说不是必需的,但是当您有成千上万的用户并且您每 2 分钟轮询一次时,它就会加起来。

于 2015-06-20T17:21:28.057 回答