Как получить AppID на основе действительного объекта AccessToken и / или Facebook.FacebookClient - PullRequest
1 голос
/ 09 ноября 2011

Я вошел в систему, используя свое собственное приложение, используя C # Facebook SDK , и я могу читать / записывать / удалять все необходимые данные.

Однако для целей проверки мне бы хотелосьчтобы получить AppID, который я сейчас использую (тот, который я использовал при генерации имени пользователя для входа в систему) на основе существующего действующего токена доступа и объекта Facebook.FacebookClient.

Подобным образом, как в Facebook PHP SDK: $appId = Facebook->getAppId();

Мой токен доступа не похож на string.Concat(appId, "|", appSecret)

Ответы [ 3 ]

2 голосов
/ 19 декабря 2011

Если я использую Facebook C # Sdk , я могу использовать следующий код для получения appID, который я использовал при входе в систему - если на данный момент у меня в памяти доступен только AccessToken:

string myAccessToken = "...";
FacebookClient fc = new FacebookClient(myAccessToken);
IDictionary<string, object> resultContainer = 
          (IDictionary<string, object>)fc.Get("/app");
string retrievedAppID = resultContainer["id"] as string;

Тот же результат можно получить непосредственно из Graph Api Explorer через:

https://graph.facebook.com/app

Если нужное приложение Facebook выбрано в верхней правой части страницы Graph Api Explorer.

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

В Facebook C# SDK нет места, которое access_token анализирует (или декодирует).

Естественно, Facebook C# SDK API, он принимает appId от Web.Config до FacebookSettings класса.
access_token как строковое свойство класса FacebookSignedRequest.

Так что вы можете перейти по этой ссылке, чтобы сделать это самостоятельно: https://developers.facebook.com/docs/authentication/signed_request/

0 голосов
/ 13 ноября 2011

Вы должны быть в состоянии получить AppId, как это:

var appId = Facebook.FacebookApplication.Current.AppId;
...