Как заставить приложение Facebook запрашивать разрешения? - PullRequest
0 голосов
/ 22 марта 2012

Я использую следующий код для создания ссылки для входа в Facebook:

<code><?php
try {
 include_once 'facebook_sdk_libs/facebook.php';
} catch(Exception $o){
 echo '<pre>';
 print_r($o);
 echo '
'; } // Создать наш экземпляр приложения. $ facebook = новый Facebook (массив ( 'appId' => APPID, 'secret' => APPSECRET, 'cookie' => правда, )); $ session = $ facebook-> getSession (); функция d ($ d) { echo '
';
 print_r($d);
 echo '
'; } $ fbme = null; // Сеансовый вызов API графа. if ($ session) { пытаться { $ uid = $ facebook-> getUser (); $ fbme = $ facebook-> api ('/ me'); } catch (FacebookApiException $ e) { // d ($ e); } } если ($ FBME) { $ logoutUrl = $ facebook-> getLogoutUrl (); } еще { $ loginUrl = $ facebook-> getLoginUrl ( массив ('scope' => 'publish_stream') ); }

Показывает экран, где Facebook показывает «Перейти к приложению» И «Отмена». Когда я нажимаю «Перейти к приложению», он возвращается на мою страницу, но не публикуется на стене Facebook так, как я хочу.

Что мне нужно изменить в этом коде, чтобы Facebook запрашивал и получал разрешение на "Публиковать на стене"?

Ответы [ 2 ]

1 голос
/ 23 марта 2012

спасибо за ваше участие, я принял к сведению вашу подсказку о access_token и обнаружил, что этот код работает, я просто заменяю код getlogin на этот

$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1,
    'fbconnect' => 0,
    'req_perms' => 'email,publish_stream,status_update,user_birthday,user_location,user_work_history'));

сначала он аутентифицирует мое приложение, а затем на следующем шаге запрашивает разрешение на публикацию на стене. так что он делает это за один шаг,

большое спасибо

0 голосов
/ 23 марта 2012

Операция, которую вы делаете, только заставит пользователя аутентифицировать ваше приложение, и для вас вернется Facebook.Это не приведет к публикации Facebook на стене пользователя.Если вы хотите сделать это, есть два варианта:

  • По возвращении из аутентификации Facebook вы можете иметь кнопку на странице для «Опубликовать на стене» и использовать JS SDK * 1004.* FB.ui 'feed' диалог , чтобы попросить пользователя опубликовать на стене.Конечно, это не обязательно означает, что пользователи будут публиковать на стене - они могут не делать этого.
  • По возвращении сделайте вызов на стороне сервера API Graph с возвращенным access_token, чтобы опубликовать ссылку , пост или статус на стене пользователя.Прочитайте Справочник по API Graph .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...