使用 Graph API Explorer 时 Facebook Oauth 访问令牌不同
(免责声明:本文中的 access_tokens 和 appIds 是假的,只是为了看起来真实)
我尝试使用以下调用生成 access_token:
这给了我以下格式的 access_token:
access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk
如果我尝试访问受该令牌保护的粉丝页面,如下所示,我会得到错误回复: http://graph.facebook.com/109813019043531?access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk
现在,如果我使用 Graph API Explorer 并选择与上面使用的应用程序相同的应用程序来生成访问令牌,我会得到一个如下所示的访问令牌:
ABBDSqE43jFSSbrS7ujvyLZClfyKDCZBhAuLXTtr9nwelj4MFwlijzejljEoNItC3lijzm3shemzq3jDFCdAZD
如果我使用该访问令牌来访问 URL (http://graph.facebook.com/109813019043531)它按预期工作。
我的问题是,两者之间有什么区别,如何以编程方式生成一个与第二个令牌类似的令牌?
(Disclaimer: The access_tokens and appIds in this post are fake and are just intended to look real)
I'm trying to generate an access_token using the call to the following:
That gives me an access_token in this format:
access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk
If I try to access a fan page that's protected with that token like this I get false back: http://graph.facebook.com/109813019043531?access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk
Now, if I use the Graph API Explorer and select the same App as the one I'm using above to generate the access token I get an access token that looks like this:
ABBDSqE43jFSSbrS7ujvyLZClfyKDCZBhAuLXTtr9nwelj4MFwlijzejljEoNItC3lijzm3shemzq3jDFCdAZD
If I use that access token to access the URL (http://graph.facebook.com/109813019043531) it works as expected.
My question is, what is the difference between the two and how can I programmatically generate one that works like the second token?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您显示的第一个是 APP 访问令牌。 Graph API Explorer 中的第二个是用户访问令牌。还有第三种类型,称为 PAGE 访问令牌。每个人都做不同的事情。
应用访问令牌用于获取您的应用有权访问的信息。在某些情况下,当应用程序用户授予publish_stream时,您可以使用它来发布到该用户的墙,而不需要用户访问令牌。
用户访问令牌授予您的应用,它们与特定应用用户授予您的应用的权限相关,以便您的应用可以代表他们执行操作。
页面访问令牌被授予页面管理员,以便他们可以代表页面进行操作。要从用户访问令牌转换为页面访问令牌,请使用用户访问令牌调用
/me/accounts
以获取他们管理的页面列表以及每个页面访问令牌。如果您有访问令牌并且想了解更多信息,请在 https://developers 上检查它。 facebook.com/tools/lint
有关访问令牌的更多信息,请参阅:https://developers.facebook.com/docs/authentication
The first one you show is an APP access token. The second one from Graph API Explorer is a USER access token. There is a third type called PAGE access token. Each do something different.
APP access tokens are used to get information that your app is privileged to access. And in some cases where publish_stream is granted from an app user, you can use it to post to that user's wall, without needing a USER access token.
USER access tokens are given to your app and they relate to the permissions a specific app user has granted to your application so you app can act on their behalf.
PAGE access tokens are given to page admins so they can act on behalf of the page. To go from a user access token to a page access token, call
/me/accounts
using the user access token to get a list of pages they admin along with each pages access tokens.If you have an access token and you want to know more information about it, lint it at https://developers.facebook.com/tools/lint
For more information on access tokens see: https://developers.facebook.com/docs/authentication