javascript - 如何在不泄露应用程序 secret 的情况下从客户端访问 Facebook 公共(public)数据

标签 javascript facebook-graph-api facebook-access-token

我正在尝试构建一个 JavaScript Metro 应用程序,通过其 Graph API 提取 Facebook 公共(public)数据(例如来自 Home Depot 的帖子)。与 Graph API 交互似乎总是需要访问 token 。

为了获取访问 token ,需要将应用程序 ID 和 key 发送到 Facebook OAuth 端点。这对于服务器端代码有意义,但对于客户端则不然,因为应用程序 key 不能与可以轻松解包/反编译/拦截的客户端代码一起提供。

所以我的问题是:

  1. 有没有一种方法可以在不使用访问 token 的情况下访问 Graph API(公共(public)数据)?
  2. 有没有办法在不发送应用程序 key 的情况下获取访问 token ?
  3. offline_access token 有替代品吗?

请记住:

  1. 我只需要访问公共(public)数据。
  2. 无需用户登录。

谢谢!

最佳答案

  1. 没有

  2. 一种选择是让用户登录并以这种方式获取访问 token 。另一种方法是让您自己的服务器提供 token 创建服务,因此 secret 不需要位于应用程序二进制文件中。

  3. 您可以将代币兑换为生命周期较长的 60 天代币 https://developers.facebook.com/docs/facebook-login/access-tokens/#extending

关于javascript - 如何在不泄露应用程序 secret 的情况下从客户端访问 Facebook 公共(public)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647066/

相关文章:

javascript - 将字符串赋予变量 Angular Javascript

javascript - 在表单中动态添加数组文本框

javascript - 如何使用 ReactJs 中的 map 函数内的 OnClick 获取 DOM 元素 id

facebook - 如何获取 Facebook 缩略图的放大版本?

C# Facebook SDK 将 accesstoken 延长至 60 天

javascript - 从 id 数组到名称数组(mongo、nodejs)

facebook-graph-api - FB.login() 因测试用户 API 失败(自 2 天以来)

javascript - 使用 facebook 图形 API 在 facebook 上通过 URL 发布视频?

ios - Swift:即使从 Facebook 设置中删除应用程序后,Facebook 访问 token 也始终返回

Facebook Oauth access_token andpoint 不返回 "expires"值