将Facebook Requests 2.0与C#SDK一起使用

Paz*_*man 6 facebook facebook-c#-sdk

我正在尝试使用SDK更新书签计数字段,但尚未取得任何成功.

有人可以告诉我我需要实例化哪些类来执行类似于以下链接的操作:

http://developers.facebook.com/blog/post/464

注意:

该链接演示了如何设置书签计数并将其删除.我希望能够对SDK做同样的事情,任何帮助将不胜感激.

Joh*_*ika 6

要做到这一点,首先你需要获得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)

有关上述方法的几点注意事项:

现在,你必须检索应用程序一的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)

我希望这有帮助.