如果您同时进行大量操作,请考虑使用批处理请求 API。它允许您同时执行多个任务(最多 50 个)。
这是一个关于理论上如何使用它的示例:
$batches = array();
$i = $b = 0;
foreach($friends_array as $user) {
$argstag = array('to' => $user);
$argstag['x'] = $locations_x[$i];
$argstag['y'] = $locations_y[$i];
// If we've reached the batch limit, create a new batch request.
if ($i == 50) {
$b++;
$i = 0;
}
// Single batch request.
$batches["$b"][] = array(
'method' => 'POST',
'relative_url' => '/' . $photo_id . '/tags',
'body' => 'to=' . $user . '&x=' . $locations_x[$i] . '&y=' . $locations_y[$i]
);
$i++;
}
if (!empty($batches)) {
foreach ($batches AS $key => $batch) {
$b = json_encode($batch);
$res = $facebook->api('?batch=' . urlencode($b), 'POST');
// Facebook populates $res with the response.
}
}
这未经测试,但希望这会有所帮助。它可能不是您想要的,但值得注意的是,如果您有大量请求需要发送到 Facebook 的服务器。