通过C#SDK使用Facebook Requests 2.0
我正在尝试用SDK更新书签计数字段,但尚未获得任何成功 有人能告诉我需要实例化哪些类来执行类似于以下链接的操作吗: 注:通过C#SDK使用Facebook Requests 2.0,facebook,facebook-c#-sdk,Facebook,Facebook C# Sdk,我正在尝试用SDK更新书签计数字段,但尚未获得任何成功 有人能告诉我需要实例化哪些类来执行类似于以下链接的操作吗: 注: 该链接演示如何设置书签计数并将其删除。我希望能够对SDK执行同样的操作,如有任何帮助,将不胜感激。要执行此操作,首先需要获取应用程序的访问令牌: private string GetAppAccessToken() { var fbSettings = FacebookWebContext.Current.Settings; va
该链接演示如何设置书签计数并将其删除。我希望能够对SDK执行同样的操作,如有任何帮助,将不胜感激。要执行此操作,首先需要获取应用程序的访问令牌:
private string GetAppAccessToken() {
var fbSettings = FacebookWebContext.Current.Settings;
var accessTokenUrl = String.Format("{0}oauth/access_token?client_id={1}&client_secret={2}&grant_type=client_credentials",
"https://graph.facebook.com/", fbSettings.AppId, fbSettings.AppSecret);
// the response is in the form: access_token=foo
var accessTokenKeyValue = HttpHelpers.HttpGetRequest(accessTokenUrl);
return accessTokenKeyValue.Split('=')[1];
}
关于上述方法,需要注意以下几点:
- 我使用.Net HttpWebRequest而不是Facebook C#SDK来获取app access#u令牌,因为(从5.011 RC1版开始)SDK引发序列化异常。SDK似乎期待Facebook的JSON响应,但Facebook返回的访问令牌格式为:access_token=some_value(这不是有效的JSON)
- HttpHelpers.HttpGetRequest只使用.Net的HttpWebRequest。您也可以使用WebClient,但无论您选择什么,您最终都希望发出以下http请求: 获取HTTP/1.1 主持人:graph.facebook.com
public dynamic GetAppRequests(string fbUserId) {
var appAccessToken = GetAppAccessToken();
var client = new FacebookClient(appAccessToken);
dynamic result = client.Get(String.Format("{0}/apprequests", fbUserId));
return result;
}
我希望这有帮助。访问/apprequests假定用户已验证/安装了您的应用程序,对吗?我认为用户不必验证您的应用程序。根据Facebook的文档,你只需要你的应用访问令牌:Nope。使用我的应用程序访问令牌进行了测试,仍然获得“param ID中的所有用户必须已接受TOS”
public dynamic GetAppRequests(string fbUserId) {
var appAccessToken = GetAppAccessToken();
var client = new FacebookClient(appAccessToken);
dynamic result = client.Get(String.Format("{0}/apprequests", fbUserId));
return result;
}