简体   繁体   English

如何从客户端访问Facebook公共数据而不损害应用程序机密

[英]How to access Facebook public data from client-side without compromising app secret

I'm trying to build a JavaScript metro app that pulls Facebook public data (posts from Home Depot for example) through their Graph API. 我正在尝试构建一个JavaScript Metro应用程序,该应用程序通过其Graph API提取Facebook公共数据(例如,来自Home Depot的帖子)。 It seems that an access token is always required to interact with the Graph API. 似乎始终需要访问令牌才能与Graph API进行交互。

In order to obtain an access token, both the App ID and Secrets needs to be sent to the Facebook OAuth endpoint. 为了获得访问令牌,需要将App ID和Secrets都发送到Facebook OAuth端点。 This makes sense for server-side code but not for client-side, since the app secret cannot be shipped with client code that can be easily unpackaged/decomplied/intercepted. 这对于服务器端代码有意义,但对于客户端端则没有意义,因为应用程序密码无法与可以轻松拆包/反汇编/拦截的客户端代码一起提供。

So my questions are: 所以我的问题是:

  1. Is there a way to access the Graph API (public data) without using access tokens? 有没有不用访问令牌就可以访问Graph API(公共数据)的方法?
  2. Is there a way to obtain an access token without sending over the App Secret? 有没有一种方法可以获取访问令牌而无需通过App Secret发送?
  3. Is there a replacement to the offline_access token? 可以对offline_access令牌进行替换吗?

Please keep in mind that: 请记住:

  1. I only need to access PUBLIC data. 我只需要访问PUBLIC数据。
  2. NO user login is needed. 无需用户登录。

Thanks! 谢谢!

  1. No 没有

  2. One option is to have the user log in and get an access token for them that way. 一种选择是让用户登录并以这种方式获取他们的访问令牌。 Another would be to have your own server provide a token creation service, so the secret would not need to be in the app binary. 另一个办法是让您自己的服务器提供令牌创建服务,因此秘密不必在应用程序二进制文件中。

  3. You can exchange a token to a longer-lived 60 day token https://developers.facebook.com/docs/facebook-login/access-tokens/#extending 您可以将令牌交换为寿命更长的60天令牌https://developers.facebook.com/docs/facebook-login/access-tokens/#extending

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何访问我从客户端(NodeJs)发布的数据 - How to access the data I post from client-side (NodeJs) 如何从登录Google登录(仅限客户端的应用程序)中正确获取访问令牌? - How to properly get Access Token from logged in Google Sign In (client-side only app)? 如何从客户端 Javascript 文件中访问 Express app.locals 变量? - How can I access an Express app.locals variable from within a client-side Javascript file? 如何从客户端动态发送数据到数据库? - How to dynamically send data from client-side to a database? 如何从服务端传数据到客户端的js文件? - How to transmit data to client-side js file from the server? SEO:如何从客户端api请求索引数据 - SEO: how to index data from a client-side api requests 直接从客户端 JavaScript 访问公共 google 表的数据 - Accessing a public google sheet's data directly from client-side JavaScript javascript:从公共回购客户端获取所有问题 - javascript: get all issues from a public repo client-side 从 Facebook 页面提取公开帖子,无需 API/APP 密钥/令牌/秘密 - Extract public posts from Facebook page without API/APP key/token/secret 在客户端弹出窗口中显示来自Facebook API的图片 - Displaying a picture from the Facebook API in a client-side popup window
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM