2011-11-09 66 views
1

我使用我自己的应用程序使用C# Facebook SDK登录,我可以读/写/删除所需的所有数据。如何根据有效的AccessToken和/或Facebook.FacebookClient对象获取AppID

但是出于验证的目的,我想根据现有的有效访问令牌和Facebook.FacebookClient对象获取当前使用的AppID(我在生成登录Uri时使用的AppID)。

在像Facebook的PHP SDK类似的方式:$appId = Facebook->getAppId();

我的访问令牌不喜欢string.Concat(appId, "|", appSecret)

回答

2

如果我使用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; 

同样的结果可以如果需要的话Facebook应用程序在所述图形API资源管理器页面右上角部分选择

https://graph.facebook.com/app 

:直接从Graph Api Explorer经由获得。

1

Facebook C# SDK,没有哪里是access_token解析(或解码)。

当然,Facebook C# SDK api,它需要appIdWeb.ConfigFacebookSettings类。
access_token作为FacebookSignedRequest类的字符串属性。

所以,你可以点击此链接到自己做:https://developers.facebook.com/docs/authentication/signed_request/

+0

感谢您的信息,但我找到了不同的解决方案。 –

0

你应该能够得到AppId这样的:

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

不幸的是,这只适用于初始化AppDomain(evt.Process)中的FacebookApplication.Current并执行登录的情况。否则 - >正如我所描述的,我可以使用Access令牌,但没有可用的FacebookApplication.Current实例。 –

相关问题