Php 通过Cron作业跟踪Instagram

Php 通过Cron作业跟踪Instagram,php,instagram,instagram-api,Php,Instagram,Instagram Api,我在instagram上设置了一个cron任务来跟踪谁喜欢我的特定媒体 我正在从实时订阅中保存媒体id,然后查询api以获得喜欢它的用户,并在每1小时后保存一次用户id,工作正常,但没有优化,因为它需要向服务器发出太多请求 有更好的解决办法吗。下面是我的一段代码 <?php while($row = mysqli_fetch_assoc($r)){ $media_id=$row['media_id']; $url='https://api.instagram.com/v1/media/'

我在instagram上设置了一个cron任务来跟踪谁喜欢我的特定媒体

我正在从实时订阅中保存媒体id,然后查询api以获得喜欢它的用户,并在每1小时后保存一次用户id,工作正常,但没有优化,因为它需要向服务器发出太多请求

有更好的解决办法吗。下面是我的一段代码

<?php 
while($row = mysqli_fetch_assoc($r)){
$media_id=$row['media_id'];
$url='https://api.instagram.com/v1/media/'.$media_id.'/likes?access_token='.$access.'';
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
foreach($results['data'] as $item){
$insta_id=$item['id'];
// insert & update code
}}
?>

我假设您希望保持在某些API速率限制内

instagram似乎不允许传递多个媒体id,因此每个媒体id只能有一个请求

如果要跟踪的项目(媒体id)超过每小时的限制,那么我建议将请求分成每小时一批

例如,如果每小时费率限制为5000个请求,并且您需要跟踪10000个图像,
然后将媒体id分为两批,然后
您将使用一些参数运行两个脚本或同一个脚本两次

Instagram提供了一些有关费率限制配额的信息,
请参见此处
有关全局速率限制的信息包含在每个呼叫响应的HTTP标头中,这使您的应用程序能够确定其与这些速率限制相关的当前状态

这完全取决于需要跟踪的项目数量,
但您所能做的就是绕过每个访问令牌每小时5000个请求的速率限制


您仍然会为每个媒体id发送一个请求。

是否因为您有很多
$media\u id
而需要向instagram服务器发送太多请求,或者为了保存用户id而向您自己的mysql服务器发送太多请求?我更关心instagram服务器。您认为什么是替代/优化的解决方案?您有如何使用批处理请求的示例吗?