我想关注 instagram 中的用户 ID 列表。 我列出了列表,当我尝试使用 api 发送关注请求时,出现此错误: 已达到客户端请求限制(代码:400)
开发者文档说: “总的来说,每个 access_token 或 client_id 每小时只能有 5000 个请求。”
但是当我收到这个错误时,我的代码几乎没有遵循 50 个用户 ID!
还有一件事,当我遇到这个错误时,我尝试在 instagram 应用程序目录(不使用 api)上关注人们,但没有任何问题!
这是我的代码中出现此错误的部分内容:
foreach ($usersArr as $user) {
$i++;
$url = 'https://api.instagram.com/v1/users/'.$user->id.'/relationship?access_token='. $accessToken;
$data = 'action=follow';
$resultObj = json_decode(sendPostData($url, $data));
$responseCode = $resultObj->meta->code;
$errorMsg = $resultObj->meta->error_message;
if ($responseCode != 200)
echo "\"" . $errorMsg . "\" AT " . date('Y-m-d H:i:s') . "\n\n";
while ($responseCode != 200){
sleep(60);
$resultObj = json_decode(sendPostData($url, $data));
$responseCode = $resultObj->meta->code;
if ($responseCode != 200) {
$errorMsg = $resultObj->meta->error_message;
echo "STILL \"" . $errorMsg . "\" AT " . date('Y-m-d H:i:s') . "\n\n";
}
elseif($responseCode == 200){
echo "Limit Finished At: " . date('Y-m-d H:i:s') . "\n\n";
break;
}
}
echo "User NO. " .$i . " has been followed!" . "\n\n";
}
非常感谢:)
最佳答案
根据我对 API 关系端点的经验,您每小时只能收到大约 160 个请求。这似乎与所有操作共享(关注/取消关注/阻止/取消阻止/批准/拒绝)。我一直无法找到任何可以让你提前确定在你超过你的限制之前你有多少请求的东西(不像 X-Ratelimit-Remaining header 中的总请求限制),我注意到任何尝试无论是否成功,使用端点的次数都会添加到您的请求计数中。
因为我的特定应用程序同时处理多人,所以我处理小块(大约 50 个请求),当我完成一个 block 时,或者如果我在该 block 内达到速率限制,我会转移到另一个用户以获得一个在回来之前(通常大约 10-15 分钟)。
我想 API 限制是每个应用程序 ID/客户端 key ,这就是为什么尽管达到了限制,您仍然可以在 instagram 应用程序上关注用户。
关于php - 如何在没有限制率问题的情况下使用 instagram API 关注用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393784/