我在生成长期访问令牌以从桌面应用程序更新Facebook页面时遇到问题。
我创建了一个与我的Facebook用户关联的Facebook应用程序,并存储了它的app id和secret。
我创建了一个与我的Facebook用户帐户相关联的Facebook页面。
我可以为我的应用创建一个短暂的(60分钟)访问令牌。
我的桌面应用程序可以使用短期访问令牌发布到我的Facebook页面。但是,这只持续60秒,因此是不切实际的。
我一直在尝试使用此处的指南生成长期访问令牌:
Request a Page Access Token in C# SDK
但是我收到错误:
“访问令牌不属于应用程序XXXXXXXXXXXXXXX”
当我尝试在调试工具框中输入我的短期访问令牌时,它确认访问令牌是我的,但它显示了不同的应用ID。
这个不同的app id来自哪里?我只定义了一个Facebook应用程序。
我想我可能在这里错过了一个基本点。
非常感谢您提供任何帮助。
答案 0 :(得分:5)
返回生成令牌的Graph API资源管理器。
确保您从顶部的下拉菜单中选择了您的应用程序"应用程序[?]"
如果您不是默认使用图形API资源管理器'这对你没用。获得为正确应用制作的令牌后,请使用以下网址重试: (用正确的数据替换NNNN)
答案 1 :(得分:1)
步骤是:
Generate app token,其中包含以下Graph API调用:
GET / oauth / access_token? CLIENT_ID = {应用ID} &安培; client_secret = {应用秘密} &安培; grant_type = client_credentials
Exchange received token获取长期令牌(60天):
GET / oauth / access_token?
grant_type = fb_exchange_token&安培;
CLIENT_ID = {应用ID}&安培;
client_secret = {应用秘密}&安培;
fb_exchange_token = {short-lived-token}
将为您提供与您的应用相关联的长期令牌。如果您想在页面上发布,那么您需要获取页面访问令牌 - 有关详细信息,请参阅此处:https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens
您将在图形API资源管理器中执行(1) - 您将获得用户令牌。然后将该令牌插入到(2)中的URL中 - 您将看到所有页面和相应的令牌。拿一个你需要的,并在你的C#代码中使用它来上传图像。