2013-05-07 4 views
0

Как и для Getting Recent Page feeds? Facebook Graph API/FQL и Getting Facebook Status updates with JSon Я хотел бы сделать запрос GET с помощью API-интерфейса Facebook и вставить эти данные на страницу. Используя API поиска, я могу получить информацию о странице, такую ​​как язык, описание и веб-сайт, но в результирующем JSON отсутствует обновление состояния/пост-обновления.Как получить последние обновления статуса на странице Facebook Используя API-интерфейс поиска в Facebook?

Как получить последние обновления статуса/сообщения с данной страницы с помощью общедоступного API-интерфейса Facebook?

+1

Почему вы используете API поиска для получения последних обновлений на ** данной/конкретной ** странице. Почему бы не запросить его прямо со страницы? –

ответ

3

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

Затем вам необходимо создать токен доступа. Перейдите сюда Facebook API Browser и нажмите кнопку «GET Access Token» справа. Выберите manage_pages роль только.

Окончательный URL должен выглядеть следующим образом: https://graph.facebook.com/{page_id}/statuses?access_token=BAACEdE...

Вот Javascript функция Я использовал, чтобы проверить мой адрес (вы также можете просто перейти там в вашем браузере):

function populateFacebookUpdates() { 
     var pageID = "mycompanypage", 
      accessToken = "BAACEdE..."; 
     var postsURL = "https://graph.facebook.com/" + pageID + "/statuses?access_token=" + accessToken; 

     $.ajax({ 
      url: postsURL, 
      method: 'GET', 
      dataType: "jsonp", 
      success: function (data) 
      { 
       console.log("Successfully retrieved Facebook data"); 
       console.dir(data); 
      }, 
      error: function(status) { 
       console.log("Facebook data could not be retrieved. Failed with a status of " + status); 
      } 
     }); 
    } 

данных вернувшийся в JSON, был тем, что я хотел. Также обратите внимание, что поиск будет работать на любом браузере/машине/IP (однако он истекает, однако). Я бы просто предостерег от размещения всего URL-адреса внутри клиентского javascript-файла по очевидным соображениям безопасности ...

+0

Оказывается, что '' statuss'' отлично подходит для моих целей. Без использования PHP SDK я смог получить доступ к последним сообщениям моей страницы (включая общие ссылки, обновления статуса и т. Д.). Для этого я просто выполнил '' GET'' по следующему URL-адресу: 'https://graph.facebook.com/ [pageID]/feed? Access_token = [appIDhere] | [appSecretHere]' '. Обратите внимание на '' '' '' разделитель для разделения обоих учетных данных. Надеюсь, это поможет кому-то. – user1429980

1

Состояние - это соединение, а не поле в соответствии с documentation. Насколько мне известно, только полевая информация может быть получена через API поиска. Если вам нужны статусы, вам нужно будет получить идентификатор страницы из вашего поиска, а затем запросить статус этих страниц, используя приведенный ниже вызов.

https://graph.facebook.com/{pageID}/statuses 
+0

Это не сработает для меня. Тем не менее требуется аутентификация: '' '{ "ошибка": { "сообщение": "Маркер доступа требуется запрашивать этот ресурс.", "типа": "OAuthException", "код": 104 } } '' 'Нужно ли мне затем использовать oAuth, чтобы разрешить серверу получать данные перед выполнением GET? – user1429980

+0

Попробуйте https://graph.facebook.com/{pageID}/statuses?access_token={YOUR_ACCESS_TOKEN}. Вы можете быстро создать токен доступа с помощью инструмента просмотра геодезических данных. Http://developers.facebook.com/tools/explorer/?method=GET&path=554718794%3Ffields%3Did%2Cname –

+0

Да, но токен доступа является временным. Как я могу создать токен доступа без приложения или идентификатора приложения? Из чтения документации PHP SDK кажется, что мне нужно иметь приложение: https://developers.facebook.com/docs/reference/php/ - мне нужно, чтобы сервер «входил» в качестве меня для создания доступа токен, который может использоваться повторно для каждого сеанса? – user1429980

Смежные вопросы