Je viens de commencer à implémenter FB Achievements pour mon jeu. J'utilise le SDK PHP pour mon application.Enregistrer Succès ok, Créer Réalisations Retours false
Je me suis inscrit avec succès une réalisation en utilisant le code suivant de ma classe qui sous-classe de la classe PHP SDK:
$URL = 'apps.facebook.com/<app_name>/ach1.html';
$AppID = $this->getAppId();
$Params = array('achievement' => $URL);
$res = $this->api($AppID.'/achievements', 'POST', $Params);
Je peux confirmer cela a été créé via l'API Graph Explorer:
{
"data": [
{
"url": "http://apps.facebook.com/<app_name>/ach1.html",
"type": "game.achievement",
"title": "Tutorial",
"image": [
{
"url": "<app_img_url>/1-ach.jpg"
}
],
"description": "Tutorial Completed",
"site_name": "<app_name>",
"data": {
"points": 1
},
"updated_time": "2012-07-13T16:05:44+0000",
"id": "<id>",
"application": {
"id": "<app_id>",
"name": "<app_name>",
"url": "https://www.facebook.com/apps/application.php?id=<app_id>"
},
"context": {
"display_order": 0
}
}
]
}
Cependant, lorsque je tente de créer un exploit pour moi il retourne faux:
$URL = 'apps.facebook.com/<app_name>/ach1.html';
$UserID = 100000466230867;
$AccessToken = $this->getApplicationAccessToken();
$Params = array('access_token' => $AccessToken,
'method' => 'post',
'achievement' => $URL);
$res = $this->api($UserID.'/achievements', 'POST', $Params);
Le résultat est "boolean false". Aucun code d'erreur n'est renvoyé. Est-ce que je fais quelque chose de manifestement ou de fondamentalement faux ici? J'ai essayé de fournir un 'display_order' de valeur 1 et 0 aussi.
Je peux confirmer que j'ai accordé l'autorisation publish_actions également.
permissions:Array ([data] => Array ([0] => Array ([installed] => 1 [email] => 1 [publish_actions] => 1 [bookmarked] => 1)))
Mon application est correctement configurée en tant que jeu.
Toute aide grandement appréciée !!
Vive