2011-02-01 4 views
3

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

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

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

ответ

3
<?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; 

?> 
+5

Это не решение для .NET – Fabrice

1

Вы можете использовать информацию в 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 
    } 
} 
Смежные вопросы