Как получить идентификатор страницы facebook в приложении iframe (C #) - PullRequest
3 голосов
/ 01 февраля 2011

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

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

Может кто-нибудь объяснить, как я могу получить идентификатор страницы? Я не хочу, чтобы пользователь должен был авторизовать приложение, поскольку меня не интересует какая-либо его информация. Я просто хочу идентификатор страницы, на которой появляется вкладка.

Ответы [ 2 ]

3 голосов
/ 24 марта 2011
<?php

include "facebook.php"; //Facebook PHP SDK 

$app_id = "APP_ID_HERE"; // Your application id

$app_secret = "APP_SECRET_HERE"; // Your application secret

$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));

$signedrequest = $facebook->getSignedRequest();

$page_id = $signedrequest["page"]["id"];
$is_admin = $signedrequest["page"]["admin"];
$is_liked = $signedrequest["page"]["liked"];

echo "Page id: ". $page_id;

?>
1 голос
/ 28 апреля 2011

Вы можете использовать информацию в FacebookWebContext.Current.SignedRequest.Data:

if (FacebookWebContext.Current.SignedRequest != null)
{
  dynamic data = FacebookWebContext.Current.SignedRequest.Data;
  if (data.page != null)
  {
    var pageId = (String)data.page.id;
    var isUserAdmin = (Boolean)data.page.admin;
    var userLikesPage = (Boolean)data.page.liked;
  }
  else
  {
    // not on a page
  }
}
...