在没有用户身份验证的情况下实施 Facebook 的 Graph API
Implementing Facebook's Graph API without user authentication
我是 Facebook Graph API 和 Facebook JavaScript SDK 的新手,但我想要了解一些事情:
- 有什么方法可以将我的 Access Token 放入开源应用程序而不实际显示它?我正在使用 GitHub,为了安全起见,我想将其设为私有。
- 我可以在不要求用户自己验证的情况下显示我的用户信息吗?
- 我可以在 Facebook Developers App 的哪个位置允许更多 "scopes" 分享 publicly?例如,user_photos、user_posts、user_likes、user_status等...
Facebook 默认允许的这些 "scopes" 实际上是我在 验证 时从用户那里获得的信息,对吗?
只是为了说明我想做什么,我想通过 Facebook Graph API 在 gh-pages GitHub 上的分支,但我不喜欢必须对有权访问该页面的每个用户进行身份验证的想法。
我想制作我的用户信息 public,但不想显示我的访问令牌,因为它是开源的,最终可能会变得危险。
如果您想查看我的存储库并对项目有更好的了解。您可以访问 https://github.com/iszwnc/rye
如果我回顾一下:
- 您不想共享您的应用访问令牌(很好!),
- 您不希望您的用户进行身份验证。
基本上,您不能隐藏您的令牌并且让您的用户直接查询 Facebook。您需要 一台机器上的一些服务器端代码,这将是唯一访问 Facebook 的机器。您的服务器将扮演 Facebook 和您的用户之间的接口角色。所以你必须:
- 使用服务器端代码(即 Node.js)从服务器执行 API 调用,
- 将您想要的信息保存在数据库中。这是可选的,但最好避免多次检索相同的信息,从而避免您未来的 100 个用户(自愿或非自愿)达到您的应用 API 限制。
- 让用户使用一些客户端代码(即 AngularJS)查询 您的 服务器,以检索您且只有您知道的内容(记住,您拥有令牌)。
关于Github,不要在上面分享你的代币。如果人们想要 运行 您的应用,他们可以生成自己的令牌。这里有几个建议:
- 将您的令牌添加到您可以在启动应用程序之前设置的环境变量(不要忘记在您的自述文件中提及),
将您的令牌添加到文件中:
创建一个包含空标记的 credentials.js
文件:
// Please use your own token
var APP_TOKEN = '';
提交文件到 Github,
- 有一个
.gitignore
文件,其中包含 credentials.js
、
var APP_TOKEN = 'now-you-can-put-your-token-here';
祝你的项目好运,它看起来令人兴奋:-)
我是 Facebook Graph API 和 Facebook JavaScript SDK 的新手,但我想要了解一些事情:
- 有什么方法可以将我的 Access Token 放入开源应用程序而不实际显示它?我正在使用 GitHub,为了安全起见,我想将其设为私有。
- 我可以在不要求用户自己验证的情况下显示我的用户信息吗?
- 我可以在 Facebook Developers App 的哪个位置允许更多 "scopes" 分享 publicly?例如,user_photos、user_posts、user_likes、user_status等...
Facebook 默认允许的这些 "scopes" 实际上是我在 验证 时从用户那里获得的信息,对吗?
只是为了说明我想做什么,我想通过 Facebook Graph API 在 gh-pages GitHub 上的分支,但我不喜欢必须对有权访问该页面的每个用户进行身份验证的想法。
我想制作我的用户信息 public,但不想显示我的访问令牌,因为它是开源的,最终可能会变得危险。
如果您想查看我的存储库并对项目有更好的了解。您可以访问 https://github.com/iszwnc/rye
如果我回顾一下:
- 您不想共享您的应用访问令牌(很好!),
- 您不希望您的用户进行身份验证。
基本上,您不能隐藏您的令牌并且让您的用户直接查询 Facebook。您需要 一台机器上的一些服务器端代码,这将是唯一访问 Facebook 的机器。您的服务器将扮演 Facebook 和您的用户之间的接口角色。所以你必须:
- 使用服务器端代码(即 Node.js)从服务器执行 API 调用,
- 将您想要的信息保存在数据库中。这是可选的,但最好避免多次检索相同的信息,从而避免您未来的 100 个用户(自愿或非自愿)达到您的应用 API 限制。
- 让用户使用一些客户端代码(即 AngularJS)查询 您的 服务器,以检索您且只有您知道的内容(记住,您拥有令牌)。
关于Github,不要在上面分享你的代币。如果人们想要 运行 您的应用,他们可以生成自己的令牌。这里有几个建议:
- 将您的令牌添加到您可以在启动应用程序之前设置的环境变量(不要忘记在您的自述文件中提及),
将您的令牌添加到文件中:
创建一个包含空标记的
credentials.js
文件:// Please use your own token var APP_TOKEN = '';
提交文件到 Github,
- 有一个
.gitignore
文件,其中包含credentials.js
、 var APP_TOKEN = 'now-you-can-put-your-token-here';
祝你的项目好运,它看起来令人兴奋:-)