Facebook Graph API访问客户端令牌/匿名?
我正在开发一个iOS应用程序,用户需要能够在没有Facebook登录的情况下访问Facebook Graph API(因为他们仅以电子邮件的身份注册了我的应用程序)。 他们主要需要检索其他Facebook用户的公共提要(名人等),以便我可以在框中显示该信息。 在旧的API中,我认为这被称为公开搜索或离线访问,但这些似乎已被Facebook弃用。 我想知道是否直接使用app-id作为令牌会起作用:
如何为没有应用程序或应用程序秘密的页面获取Facebook访问令牌
取而代之的是,我可以在以下位置使用“客户端令牌”:
https://developers.facebook.com/apps/{your-app-id}/settings/advanced/
随着:
[FBAccessTokenData createTokenFromString:]
[FBSession openFromAccessTokenData:]
使用我的应用程序凭据将用户登录到Facebook? 另一种选择可能是以编程方式匿名登录用户:
https://developers.facebook.com/products/anonymous-login/
我很难在FacebookSDK.framework中找到相应的调用。 我能找到的唯一提及的“匿名”是:
[FBSettings setClientToken:]
从文档:“为Facebook应用程序设置客户端令牌,这是在匿名进行某些API调用时需要的,没有基于用户的会话。”
如果这些都不可行,那么我可能需要退回到使用node.js服务器从应用程序令牌为用户生成长期存在的令牌。 这在“从服务器端长寿命令牌生成长寿命用户令牌”部分中进行了讨论:
https://developers.facebook.com/docs/facebook-login/access-tokens
我看到如何在这里获得一个令牌:
https://developers.facebook.com/tools/access_token/
https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.2
然后使用node.js以某种方式扩展并将其传递给客户端:
Facebook:永久页面访问令牌?
在没有Facebook登录的情况下获取新的访问令牌
或者通过使用app_id | app_secret代替令牌来完全获取令牌:
试图获得应用访问令牌
但不清楚它是如何从node.js传递回客户端的。 我对这一切感到非常困惑,不明白为什么使用图形API访问公共数据没有更好的文档记录。 我有正常的用户登录在iOS中工作,如果能找到一个匿名的登录示例,可以修改网络中的匿名登录示例。 任何例子将不胜感激。
更新:
这些说明和这些文档帮助我从可用于Facebook API访问的应用程序ID创建一个长期存在的令牌。 这是通过一个像php这样的后端服务器完成的,但它可以通过URL请求来适应iOS(显然,你只能与客户端共享令牌,而不是MY_CLIENT_SECRET)。 我没有看到许多客户通过应用程序令牌向Facebook API发出请求时会发生什么情况。
链接地址: http://www.djcxy.com/p/32593.html