(免责声明:此帖中的access_tokens和appIds是假的,只是为了看起来真实)
我正在尝试使用以下调用生成access_token:
这给了我这种格式的access_token:
=的access_token 1234567.89亿| TR528Smvi4AXMM21Zhmi5XmJwmk
如果我尝试访问受此标记保护的粉丝页面,我会回复:http://graph.facebook.com/109813019043531?access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk
现在,如果我使用Graph API Explorer并选择与我上面使用的App相同的App来生成访问令牌,我会得到一个如下所示的访问令牌:
ABBDSqE43jFSSbrS7ujvyLZClfyKDCZBhAuLXTtr9nwelj4MFwlijzejljEoNItC3lijzm3shemzq3jDFCdAZD
如果我使用该访问令牌访问该URL(http://graph.facebook.com/109813019043531),它将按预期工作。
我的问题是,两者之间有什么区别?如何以编程方式生成一个像第二个令牌一样工作的?
答案 0 :(得分:13)
您展示的第一个是APP访问令牌。 Graph API Explorer中的第二个是USER访问令牌。还有第三种称为PAGE访问令牌的类型。每个人都做不同的事。
APP访问令牌用于获取您的应用有权访问的信息。在某些情况下,从app用户授予publish_stream,您可以使用它发布到该用户的墙上,而无需用户访问令牌。
USER访问令牌会提供给您的应用,它们与特定应用用户授予您的应用的权限相关,因此您的应用可以代表他们行事。
PAGE访问令牌会提供给页面管理员,以便他们可以代表该页面执行操作。要从用户访问令牌转到页面访问令牌,请使用用户访问令牌调用/me/accounts
以获取他们管理的页面列表以及每个页面访问令牌。
如果您有访问令牌,并且想要了解有关它的更多信息,请将其隐藏在https://developers.facebook.com/tools/lint
有关访问令牌的详细信息,请参阅:https://developers.facebook.com/docs/authentication