AS3 Flash API не устанавливает игровую категорию Оценка приложения - ошибка доступа к токену - PullRequest
0 голосов
/ 21 сентября 2011

Надеюсь, это не очень нубистский вопрос, который я задаю :) -

Я пытаюсь установить параметр Score для своего приложения (приложения категории игр) с помощью AS3 Flash API (который, как я вижу, является оболочкой для JS Api), но я продолжаю получать "(# 15) Этот метод должен быть вызвано с ошибкой приложения access_token ", я также попытался выполнить тестовый вызов с помощью Graph API Explorer, и результат тот же. (с сгенерированным токеном доступа приложения и токеном копирования / вставки доступа)

Я искал таблицы разрешений и установил publish_actions и user_games_activity для процесса аутентификации.

Получение работает отлично (я могу получить базовую информацию без проблем, а также оценить информацию, но это просто пустой массив, вероятно, потому что он не установлен) публикация кажется виновником

Я хочу знать, что я делаю что-то не так (например, на моем сервере требуется дополнительный процесс аутентификации)

Если у вас есть идеи, пожалуйста, помогите, это очень расстраивает

Заранее спасибо: D

1 Ответ

2 голосов
/ 12 ноября 2011

Наконец нашел решение.

Вот правильный код AS3:

var data:Object = new Object();
data.score = 285;
data.access_token = APP_ACCESS_TOKEN;
var requestType:String = "POST";
Facebook.api( Facebook.getAuthResponse().uid +  "/scores/" , handlePostScoreComplete, data, requestType);

Вы ДОЛЖНЫ получить токен доступа к приложению, используя PHP или какой-либо другой SDK на стороне клиента, а не Javascript SDK, поскольку для этого требуется секрет приложения.

Итак, в PHP вы должны получить токен доступа, а затем передать его во Flash:

<?php

$APPLICATION_ID = YOUR_APP_ID;
$APPLICATION_SECRET = YOUR_APP_SECRET;

$token_url =    "https://graph.facebook.com/oauth/access_token?" .
            "client_id=" . $APPLICATION_ID .
            "&client_secret=" . $APPLICATION_SECRET .
            "&grant_type=client_credentials";
$app_token = file_get_contents($token_url);

?>
...