c# - 获取 Facebook 页面的访问 token - WPF

标签 c# facebook facebook-graph-api facebook-c#-sdk facebook-access-token

我正在开发一个 WPF 应用程序,需要在 facebook 页面的墙上发布内容,并且没有登录窗口。 好吧,我想获取我的 Facebook 页面的访问 token ,这是我的代码。

        var fb = new FacebookClient();
        string token = "";
        dynamic accounts = fb.Get("/"<USER_ID>"/accounts");
        foreach (dynamic account in accounts)
        {
            if (account.id == <PAGE_ID>)
            {
                token = account.access_token;
                break;
            }
        }

但是我收到错误 #104。这是一个简单的错误,我需要访问 token 才能执行此操作。 然后我使用其他代码来获取用户访问 token

        var fb = new FacebookClient();
        dynamic result = fb.Get("oauth/access_token", new
        {
            client_id = <PAGE_ID>,
            client_secret = <APP_SECRET>,
            grant_type = "fb_exchange_token",
            fb_exchange_token = <USER_TOKEN>
        });

但是我收到错误#101:

"Error validating application. Cannot get application info due to a system error."

有人知道我必须做什么吗?

谢谢!!!

最佳答案

我不确定您是否能够获得该页面的永不过期 token ,因此我将向您解释这些步骤:

  1. 打开Graph API Explorer

  2. 从下拉列表中选择您的应用

    enter image description here

  3. 点击“获取访问 token ”按钮,然后选择 manage_pages 权限。

  4. 复制 token 并在浏览器中运行:

     https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app-id}&client_secret={app-secret}&fb_exchange_token={step-3-token}
    
  5. 复制第 4 步中的 token 并将其粘贴到 access_token 字段并调用:

     /{page-id}?fields=access_token
    
  6. 您现在获得的 token 是永不过期的 token ,您可以在 Debugger 中验证它。 .在您的应用程序中使用它。

但请注意,如果您的应用程序是公开的,则不建议在客户端使用此 token 。

关于c# - 获取 Facebook 页面的访问 token - WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976350/

相关文章:

django - python social auth和django,使用Facebook api 2.4的电子邮件为空

android - 使用facebook最新的SDK获取用户相册?

c# - 使用 Microsoft.AspNet.WebApi.Versioning 进行 Web API 2 版本控制

c# - 引用的库未被复制

c# - 如何在 C# 中读取加密的 sqlite 数据库

javascript - 如何使用 Facebook React 更新视频源?

C# 应用求解二次虚根

ios - 无效的 sso_key 参数 iOS Gamemaker

javascript - Facebook 错误 : (#100) The specified scheduled publish time is invalid

javascript - 如何从 Facebook 群组获取我所有帖子的列表