Как удалить уведомление из игрового запроса - PullRequest
1 голос
/ 30 августа 2011

Я пытаюсь удалить уведомление приложения о загрузке приложения.Поэтому, когда я приглашаю своего друга, он получает уведомление и запрашивает «хорошо», и если он нажимает на него, то он должен быть удален.Как?Я пробовал несколько способов, но безуспешно.

$REQIDs=$_REQUEST['request_ids'];
$user_profile = $facebook->api('/me');
$token_url = "https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXX&client_secret=XXXXXXX&grant_type=client_credentials";
$access_token = file_get_contents($token_url);
if($REQIDs){
$requests = explode(',',$REQIDs);
foreach($requests as $request_id){
$deleted = file_get_contents("https://graph.facebook.com/$request_id?$access_token&method=delete");
//not working ->> {"error":{"type":"GraphMethodException","message":"Unsupported delete request."}}
$deleted = file_get_contents("https://graph.facebook.com/".$user_profile['id']."_".$request_id."?".$access_token);
//not working ->> false
$deleted = $facebook->api($request_id."?".$access_token, "DELETE");
//not working ->> Fatal error: Uncaught GraphMethodException: Unsupported delete request.
}
}

У кого-нибудь есть идеи или вы видите ошибку?

Ответы [ 2 ]

0 голосов
/ 30 августа 2011

Взгляните на эту тему здесь >>> Тема .Он довольно подробно объясняет, как обрабатывать запросы.

Ваш код должен выглядеть следующим образом:

$reqId = $_GET['request_ids']; // Get the id of the current request
$requests = $facebook->api('/me/apprequests/?request_ids='.$reqId);  //Get the request. Not sure if this is correct for specific request
$itemData = $requests[data][0][data];  //Get the data that was originally sent in the request

//Some code here to do whatever with the data

$delete_url = "https://graph.facebook.com/".$reqId."?access_token=".$token."&method=delete";

$result = file_get_contents($delete_url);  //Delete the request so there is only one there next time.

Это должно сработать.

Удачи!

0 голосов
/ 30 августа 2011

Facebook передаст вам идентификаторы запросов, когда ваш пользователь нажмет на них.Затем вы можете позвонить по этому URL, чтобы удалить запрос:

https://graph.facebook.com/[request_ids]?access_token=[your_app_accessToken]&method=delete

Обратите внимание, что если ваше приложение отправило несколько запросов одному пользователю, когда они щелкают по Камню уведомлений в меню заголовка FB,Ваш код будет отправлен все идентификаторы запроса в строке через запятую.Вам нужно будет обойти этот факт.Я думаю, что я прав, говоря, что порядок идентификаторов в этой строке самый старый -> самый новый, поэтому для удаления самого последнего вам нужно проанализировать последний идентификатор в строке и удалить его.

...