如何使用facebook php SDK执行批处理请求
在我的项目中,我在一个表中有很多事件id。 我想循环这些id,并向facebook请求该特定id的附加信息 现在,我为每个ID发出不同的http请求。我想将其放入一个批处理中,这样我就可以在一个http请求中传递所有ID并接收所有这些事件的所有附加信息如何使用facebook php SDK执行批处理请求,php,facebook,facebook-graph-api,batch-file,Php,Facebook,Facebook Graph Api,Batch File,在我的项目中,我在一个表中有很多事件id。 我想循环这些id,并向facebook请求该特定id的附加信息 现在,我为每个ID发出不同的http请求。我想将其放入一个批处理中,这样我就可以在一个http请求中传递所有ID并接收所有这些事件的所有附加信息 我使用Facebook PHP sdk您可以按如下方式批处理这些请求: curl \ -F 'access_token=…' \ -F 'batch=[ \ {"method": "GET", "relative_url": "m
我使用Facebook PHP sdk您可以按如下方式批处理这些请求:
curl \
-F 'access_token=…' \
-F 'batch=[ \
{"method": "GET", "relative_url": "me"}, \
{"method": "GET", "relative_url": "me/friends?limit=50"} \
]'\
https://graph.facebook.com
批处理大小限制为50。您可以按如下方式批处理这些请求:
curl \
-F 'access_token=…' \
-F 'batch=[ \
{"method": "GET", "relative_url": "me"}, \
{"method": "GET", "relative_url": "me/friends?limit=50"} \
]'\
https://graph.facebook.com
批处理大小限制为50。这里是一个粗略的示例,在一个批处理中执行两个请求
$batch = array();
$req = array(
'method' => 'GET',
'relative_url' => '/me'
);
$batch[] = json_encode($req);
$req = array(
'method' => 'GET',
'relative_url' => '/me/albums'
);
$batch[] = json_encode($req);
$params = array(
'batch' => '[' . implode(',',$batch) . ']'
);
try {
$info = $facebook->api('/','POST',$params);
} catch(FacebookApiException $e) {
error_log($e);
$info = null;
}
if(!empty($info)){
if($info[0]['code'] == '200'){
$user_profile = json_decode($info[0]['body']);
}
if($info[1]['code'] == '200'){
$user_albums = json_decode($info[1]['body']);
}
echo "<pre>User Profile:\n";
print_r($user_profile);
echo "\nAlbums\n";
print_r($user_albums);
echo "<pre>";
}
这是一个粗略的示例,但它应该提供执行批处理请求的基础 这里是一个在批处理中执行两个请求的粗略示例
$batch = array();
$req = array(
'method' => 'GET',
'relative_url' => '/me'
);
$batch[] = json_encode($req);
$req = array(
'method' => 'GET',
'relative_url' => '/me/albums'
);
$batch[] = json_encode($req);
$params = array(
'batch' => '[' . implode(',',$batch) . ']'
);
try {
$info = $facebook->api('/','POST',$params);
} catch(FacebookApiException $e) {
error_log($e);
$info = null;
}
if(!empty($info)){
if($info[0]['code'] == '200'){
$user_profile = json_decode($info[0]['body']);
}
if($info[1]['code'] == '200'){
$user_albums = json_decode($info[1]['body']);
}
echo "<pre>User Profile:\n";
print_r($user_profile);
echo "\nAlbums\n";
print_r($user_albums);
echo "<pre>";
}
这是一个粗略的示例,但它应该提供执行批处理请求的基础 我已经查看了文档,但不是针对PHPSDK的。此示例适用于两个单独的查询。我想问这个问题$这->facebook->api$id,'GET',array'fields'=>'姓名、地点、隐私、位置、开始时间、结束时间、描述';但是一次50个身份证。不知道批处理请求是否可以这样做。谢谢你的帮助!然后你只需要调用$this->facebook->api$id,'GET',array'fields'=>'名称,地点,隐私,位置,开始时间,结束时间,描述,'ids'=>'[CSV用户id列表];我已经查看了文档,但不是针对PHPSDK的。此示例适用于两个单独的查询。我想问这个问题$这->facebook->api$id,'GET',array'fields'=>'姓名、地点、隐私、位置、开始时间、结束时间、描述';但是一次50个身份证。不知道批处理请求是否可以这样做。谢谢你的帮助!然后你只需要调用$this->facebook->api$id,'GET',array'fields'=>'名称,地点,隐私,位置,开始时间,结束时间,描述,'ids'=>'[CSV用户id列表];