Zac*_*ris 5 facebook anonymous token facebook-graph-api ios
我正在开发一个 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:]
Run Code Online (Sandbox Code Playgroud)
使用我的应用程序凭据将用户登录到 Facebook?另一种选择可能是以编程方式匿名登录用户:
https://developers.facebook.com/products/anonymous-login/
我很难在 FacebookSDK.framework 中找到相应的调用。我能找到的唯一提到的“匿名”是:
[FBSettings setClientToken:]
Run Code Online (Sandbox Code Playgroud)
来自文档:“为 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 以某种方式扩展它并将其传递给客户端:
或者通过使用 app_id|app_secret 代替令牌来完全跳过获取令牌:
但尚不清楚如何将其从 node.js 传递回客户端。我对所有这些感到非常困惑,不明白为什么没有更好地记录使用图形 API 访问公共数据。我有在 iOS 中工作的普通用户登录,如果我能找到一个匿名登录示例,我可以改编一个来自网络的匿名登录示例。任何例子将不胜感激。
更新:
这些说明和这些文档帮助我从可用于 Facebook API 访问的应用程序 ID 创建了一个长期存在的令牌。目前这是通过像 php 这样的后端服务器完成的,但可能可以通过 URL 请求使其适应 iOS(显然,您只会与客户端共享令牌,而不是 MY_CLIENT_SECRET)。我还没有研究当许多客户通过应用程序的令牌向 Facebook API 发出请求时会发生什么。
| 归档时间: |
|
| 查看次数: |
3825 次 |
| 最近记录: |