Может ли диалог запросов Facebook работать как дисплей: iframe или display: page? - PullRequest
4 голосов
/ 05 марта 2011

Все примеры диалогов Facebook показывают страницу для перенаправления пользователя в форме http: // www.facebook.com/dialog/xxx?yyy ... ЗА ИСКЛЮЧЕНИЕМ диалогового окна запросов, в котором показаны примеры с использованием FB.UI) в JavaScript SDK.

http://developers.facebook.com/docs/reference/dialogs/requests/

Мой вопрос, который нигде не рассматривается в документации Facebook, можно ли получить доступ к журналу запросов, указав браузеру http://www.facebook.com/dialog/apprequests?...

Я пытался часами, но постоянно получаю сообщение "Извините, произошла ошибка".Я делаю это неправильно или это не может быть сделано?

Ответы [ 6 ]

4 голосов
/ 20 июня 2011

Я могу решить это

вам нужно использовать URL как

http://www.facebook.com/dialog/apprequests?app_id=APP_ID&redirect_uri=URL_GIVEN_IN_APP/&message=abc

Это хорошо работает для меня. Надеюсь, это поможет.

1 голос
/ 28 ноября 2011

Я пытался отладить это много.

Последний код, который, кажется, сработал однажды, был

<iframe src="https://www.facebook.com/dialog/apprequests?access_token=xxxx&api_key=xxxx&app_id=xxxx&display=iframe&frictionless=false&locale=en_US&message=abc&next=xxxx" frameborder="0">

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

Код ошибки API: 110 Описание ошибки API: Недопустимый идентификатор пользователя Сообщение об ошибке: отсутствует файл cookie пользователя (для проверки пользователя сеанса)

Каков наилучший способ установить куки пользователя?Facebook Connect Может быть?Возможно, я буду использовать этот код где-то внутри приложения Facebook и проверить, работает ли он.Я думаю, что это просто проблема с файлами cookie. Я также попытался указать & user_id вручную, но это не сработало.

Это определенно не будет работать с http IMO, это должен быть https.

1 голос
/ 05 марта 2011

Вы не можете сделать так, чтобы диалог запроса вел себя как страница напрямую, но вы можете использовать XFBML и fb:request-form на, скажем, страницу visible.php в своем приложении, чтобы создать форму приглашения на запрос.

http://developers.facebook.com/docs/reference/javascript/fb.xfbml.parse/ http://developers.facebook.com/docs/reference/fbml/serverFbml/

0 голосов
/ 19 сентября 2011

Как сказал Гохан Озтюрк, Вы можете указать (отобразить: 'iframe') для Apprequests.

Чтобы это работало, вам нужно предоставить токен доступа для пользователя:

FB.ui({ 
  method: 'apprequests',
  display: 'iframe',
  access_token: Users Access Token Here,
  title: 'Sample Title',
  message: 'Sample Message',
  data: 'some data here',
  filters: ['all'],
},
function(response) {
  if (response && response.request_ids) {
    alert('Request was sent');
  } else {
    alert('Request was not sent');
  }
});

Вы также захотите использовать FB.init () через JSDK, но вы можете сделать это, не используя его для управления токенами доступа пользователей и аутентификации,

FB.init({ 
  appId: 'Application Id',
  status: false,
  cookie: false,
  xfbml: false 
});

Это сработало для меня, когда я использую php для аутентификации, но мне все еще нужен доступ к функциональности fb.ui из javascript sdk.

дисплей: 'iframe' - должен работать для всех методов диалога «друзья», «кормить», «отправлять» и т. д.

0 голосов
/ 16 июня 2011

Я верю, что вы правы.Если вы комбинируете информацию из http://developers.facebook.com/docs/reference/dialogs/requests/ и http://developers.facebook.com/docs/reference/dialogs/,, ваш URL должен работать ... Я тоже пытался, но я также получаю сообщение об ошибке ...

0 голосов
/ 06 апреля 2011

http://developers.facebook.com/docs/reference/javascript/FB.ui/

Вы можете указать параметр отображения, как показано в разделе «Параметры».

FB.ui({
   method: 'apprequests',
   display: 'iframe',
   message: 'Your message',
   title: 'Your title'
}, function(response) {
   alert(response.request_ids);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...