0

我正在编写一个控制台应用程序,它每天午夜运行并提取我的 Facebook 页面的所有见解。我正在使用 Facebook C# SDK 与 Facebook 连接。我的问题是为了从 Facebook 获取数据,我需要有访问令牌,但要做到这一点,我必须经过身份验证。由于它是一个控制台应用程序和自动执行过程,我无法提示插入 Facebook 凭据是否有任何方法可以使身份验证方法自动进行,或者是否有任何其他方法来获取访问令牌?

我按照以下步骤获取访问令牌

  1. 对https://graph.facebook.com/oauth/authorize?client_id=My_AppId&scope=Manage_page&redirect_uri=http://www.facebook.com/connect/login_success.html的HTTP 请求应该返回授权码。但这会返回我用户被拒绝的错误,因为我尚未进行身份验证。

  2. 然后我使用上面的授权码来获取访问令牌

    var fbClient = new FacebookClient();
    dynamic accessToken = fbClient.Get("oauth/access_token", new {
        client_id = appId,
        client_secret = appSecret,
        redirect_uri = "http://www.facebook.com/connect/login_success.html",
        code = code
    });
    
4

1 回答 1

0

如果您只打算检索有关您自己页面的信息,我知道的最简单的方法是使用 PowerShell 和http://facebookpsmodule.codeplex.com。您只需要调用一次 New-FBConnection(这将显示一个 Facebook 对话框,您可以在其中输入您的凭据),该模块将自动缓存您的加密访问令牌。然后安排一个脚本在午夜运行,它会自动读取令牌。

请注意,最近对 Facebook 的更改可能会导致“用户”(而不是“页面”)的令牌在 60 天后过期。FacebookPSModule 还包含对自动更新令牌的支持。

于 2013-01-29T19:34:28.587 回答