Существует ли JavaScript API для отправки уведомлений пользователям Facebook? - PullRequest
1 голос
/ 11 октября 2011

В настоящее время я разрабатываю приложение Facebook на веб-сайте, который должен будет отправлять уведомления пользователям приложения без использования диалогового окна интерфейса пользователя. Прочитав некоторые блоги, я пришел к выводу, что опция доступна только в PHP API. Я мог только найти этот пример:

http://developers.facebook.com/docs/channels/

Есть ли JavaScript API для этого?

После некоторого прочтения я обнаружил, что FB.api может обрабатывать apis графического объекта, а также остальные apis, которые должны быть объявлены устаревшими, и получил следующую работу:

FB.api('/1175241653/apprequests', 'post', 
       { message: "This is a Good Request!!" }, 
       function (response) {
           if (!response || response.error) {
              alert('Error occured , Request Failed :(( ');
           } else {
              alert('Request is sent successfully');
           }
        });

Однако этот идентификационный номер 1175241653 не работает, если зарегистрированный идентификатор пользователя не является этим идентификатором.

Следовательно, для этого потребуется тот же функционал, который Facebook использует для получения идентификатора того, кто вошел в приложение. Есть ли способ сделать это?

1 Ответ

1 голос
/ 26 октября 2011

Теперь я получил это во всех отношениях, и я хотел бы поделиться им с теми, кто может иметь дело с:))

скажем, 1-й, что для одного запроса приложения от вашего приложения к любому из зарегистрированных пользователей Facebook в вашем приложении будет выглядеть так:

var data =
    {
        message: "Hey there, something good happened over here !",
        access_token: "AAADdf39DLxgBANEwZA9ZCfZCSbtdfcZBtstWMMsW5JiZBjVW2Ucx234sedhHSZCm8aEABzvhWPBNWi1bTKwZBq0EcgZD"
    }


FB.api('/68751034/apprequests', 
       'post', 
       data, 
       function (response) {
           console.log(response);
           if (!response || response.error) {

           } else {

           }
       });

access_token должно быть предоставлено для аутентификации запроса от приложения к зарегистрированному пользователю.

Если вы не знаете о токенах доступа, вы можете прочитать об этом на сайте facebook:

http://developers.facebook.com/docs/authentication/

Кроме того, если вы хотите отправлять пакетные запросы нескольким пользователям за один запрос, также есть страница поддержки с сайта Facebook:

http://developers.facebook.com/docs/reference/api/batch/

и вот пример того, что я имею в виду:

var _batch = [];

for (var i = 0; i < _socialids.length; i++) {
   _batch.push({ 
       method: 'post', 
       relative_url: _socialids[i] + '/apprequests/?access_token=' + _accessTokens[i], 
       body: "message= This is a request sent to many users" });
    }
   if (_batch.length > 0) {
       FB.api('/', 'POST', { batch: _batch }, function (res) {
           // Do whatever when the batch request is sent
       });
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...