直到现在我使用的代码是在这里下面,不幸的是它不再工作了。有人能帮帮我吗?我是真正的初学者,所以我会欣赏整个代码,或者只是我应该改变什么。我如何得到ID请求,ID用户从和ID用户到php?非常感谢
<script>
FB.init({
appId : '111111111111111',
status : true,
cookie : true,
oauth: true
});
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'My Great Request'
}, requestCallback);
}
function requestCallback(response) {
$.post("process_ids.php", {uid: <?php echo $uid; ?>, request_ids: String(response.request_ids) } );
return false;
}
</script>
///////////////////////process_ids.php :
<?php
$appid ='11111111111111';
$secret ='22222222222222222';
if(isset($_POST['request_ids']) && !empty($_POST['request_ids'])){
$app_token = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id='.$appid.'&client_secret='.$secret.'&grant_type=client_credentials'); //Get application token
$sent = explode(',', $_POST['request_ids']); //Convert csv to array
$count = count($sent); //count how many objects in array
for ($a = 0; $a < $count; $a++) {
$request = file_get_contents('https://graph.facebook.com/'.$sent[$a].'?'.$app_token);
preg_match("/'"to'":'{'"name'":'"(.*?)'",'"id'":'"(.*?)'"/i", $request, $getInfo);
$sent_to_name = $getInfo[1];
$sent_to_id = $getInfo[2];
preg_match("/'"id'":'"(.*?)'"/i", $request, $getInfo);
$idrequest = $getInfo[1];
$delete_url = "https://graph.facebook.com/" . $idrequest . "?" . $app_token . "&method=delete";
}
} ?>
FB传递给您的答案是JSON编码。而不是写regexp的,你可以简单地把答案存储在$request变量和json_decode()它…
一样:
$request = file_get_contents('https://graph.facebook.com/'.$sent[$a].'?'.$app_token);
$answer = json_decode($request);
// that's for debugging only
echo '<pre>';
print_r($answer);
echo '<pre>';
这将输出解码后的请求…然后可以通过$answer->some_property
访问内容如果你从github中使用php-sdk,那就更容易了(例如删除插件):
$requests=$this->facebook->api('/me/apprequests/'); //Requests Graph API call.
foreach($requests['data'] as $request) {
$this->facebook->api($request['id'], 'delete'); // delete the used request
}