Я разработал приложение для Facebook в тестовом модуле, и я хочу опубликовать его на стене тестового пользователя.Facebook: не удается опубликовать в пользовательском канале в тестовом режиме
это ссылка, где регистр пользователя и принять разрешение:
https://www.facebook.com/dialog/oauth?type=user_agent&client_id=MY_APP_ID&display=popup&redirect_uri=THE_URL&scope=email%2Cpublish_actions
После этого я получаю какое-то знак, используя этот маркер я делаю следующий запрос к графе :
/oauth/access_token?client_id=MY_APP_ID&client_secret=MY_APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=".$token
маркер возвращается в настоящее время используется мной, чтобы получить подробную информацию пользователя из графика:
/me/?$user_access_token&fields=name,age_range,id,email,gender,currency,locale,timezone"
Я получаю в результате все поля, перечисленные выше. (одна странной вещи, идентификатор возвращается не является публичным идентификатором тестового пользователя, другое поле правильны ...)
, когда я хочу отправить так кому-то стену Я бег это ИНТ графика:
/oauth/access_token?client_id=MY_APP_ID&client_secret=MY_SECRET&grant_type=client_credentials
маркер возвращается будет использоваться здесь:
$token = self::getAccessToken($app_id,$app_secret);
$post_array = array();
$post_array['access_token'] = $token;
$post_array['message'] = urlencode($message);
$post_array['link'] = urlencode($link);
$res = self::post("https://graph.facebook.com/".$user_id."/feed?",$post_array);// the user id might be wrong?
, и я получаю следующее сообщение об ошибке: {"error":{"message":"(#200) Permissions error","type":"OAuthException","code":200,"fbtrace_id":"EO5WvMfYYgC"}}
Что это может быть? факт, что я нахожусь в тестовом модне? или, может быть, идентификатор пользователя, который я получил, ошибочен?
Благодаря
Какие разрешения предоставляет пользователю приложение? – WizKid
@WizKid см. Первый URL-адрес, который я разместил здесь ('scope = email% 2Cpublish_actions') – SexyMF
Этот URL-адрес означает, что вы _tried, чтобы спросить_ за разрешениями, а не то, что пользователь фактически предоставил их. Пользователь даже попросил разрешения на публикацию в диалоговом окне? Если у пользователя нет роли в приложении, вам, конечно же, необходимо сначала получить это разрешение. – CBroe