我想关注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抱怨的是request,而不是跟随。您可能正在关注50个用户,但您发出的API请求超过5000个。使用当前代码,只需100次页面刷新即可达到该限制。听起来可能很多刷新,但是如果您要调试/开发代码,则可以合理地假设您可以相对轻松地超过100刷新阈值。
为减轻此问题,如果您仍在工作/调试该代码,则将跟踪数从50减少到1或2。一旦代码运行正常,请恢复以前的跟踪数。我建议您也将返回对象缓存5或10分钟。这样,您无需担心超出API限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句