我正在尝试构建一个 JavaScript Metro 应用程序,通过其 Graph API 提取 Facebook 公共(public)数据(例如来自 Home Depot 的帖子)。与 Graph API 交互似乎总是需要访问 token 。
为了获取访问 token ,需要将应用程序 ID 和 key 发送到 Facebook OAuth 端点。这对于服务器端代码有意义,但对于客户端则不然,因为应用程序 key 不能与可以轻松解包/反编译/拦截的客户端代码一起提供。
所以我的问题是:
- 有没有一种方法可以在不使用访问 token 的情况下访问 Graph API(公共(public)数据)?
- 有没有办法在不发送应用程序 key 的情况下获取访问 token ?
- offline_access token 有替代品吗?
请记住:
- 我只需要访问公共(public)数据。
- 无需用户登录。
谢谢!
最佳答案
没有
一种选择是让用户登录并以这种方式获取访问 token 。另一种方法是让您自己的服务器提供 token 创建服务,因此 secret 不需要位于应用程序二进制文件中。
您可以将代币兑换为生命周期较长的 60 天代币 https://developers.facebook.com/docs/facebook-login/access-tokens/#extending
关于javascript - 如何在不泄露应用程序 secret 的情况下从客户端访问 Facebook 公共(public)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647066/