Paz*_*man 6 facebook facebook-c#-sdk
我正在尝试使用SDK更新书签计数字段,但尚未取得任何成功.
有人可以告诉我我需要实例化哪些类来执行类似于以下链接的操作:
http://developers.facebook.com/blog/post/464
注意:
该链接演示了如何设置书签计数并将其删除.我希望能够对SDK做同样的事情,任何帮助将不胜感激.
要做到这一点,首先你需要获得app的访问令牌:
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];
}
Run Code Online (Sandbox Code Playgroud)
有关上述方法的几点注意事项:
HttpHelpers.HttpGetRequest只使用.Net的HttpWebRequest.您也可以使用WebClient,但无论您选择什么,您最终都希望发出此http请求:
获取https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials HTTP/1.1主机:graph.facebook.com
现在,你必须检索应用程序一的access_token方法,可以按如下方式生成应用请求(在这里我使用Facebook C#SDK):
public string GenerateAppRequest(string fbUserId) {
var appAccessToken = GetAppAccessToken();
var client = new FacebookClient(appAccessToken);
dynamic parameters = new ExpandoObject();
parameters.message = "Test: Action is required";
parameters.data = "Custom Data Here";
string id = client.Post(String.Format("{0}/apprequests", fbUserId), parameters);
return id;
}
Run Code Online (Sandbox Code Playgroud)
同样,你可以检索用户的所有应用程序的请求如下:注:您可能不想回到"动态"的,但我在这里用它的简单性.
public dynamic GetAppRequests(string fbUserId) {
var appAccessToken = GetAppAccessToken();
var client = new FacebookClient(appAccessToken);
dynamic result = client.Get(String.Format("{0}/apprequests", fbUserId));
return result;
}
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
2436 次 |
| 最近记录: |