我应该在网站上使用Javascript SDK或PHP SDK进行facebook连接

Cas*_*ynn 13 facebook server-side client-side facebook-graph-api

我正在建立一个网站,通过Facebook连接验证用户,我在使用PHP SDK /服务器端流程或JS SDK /客户端流程之间徘徊.

以下是一些注意事项:

  1. 我想记录在我的服务器上的数据库(用户ID,电子邮件地址)中授权我的应用程序的所有用户
  2. 我想让用户能够使用JS SDK中FB.ui()生成的有吸引力的对话框发布到他们的墙上
  3. 我希望能够通过我的服务器在用户的墙上发布故事以响应外部事件
  4. 我想根据用户当前是否登录到Facebook来启用/禁用我网站上的某些功能

还有一些我能想到的问题.但基于这些要求,我猜我将需要使用这两个SDK.但是我应该依赖哪个SDK来进行数据库中的初始应用程序授权/新用户记录?

我对这两种情况下如何工作的想法:

JS SDK:

用户选择登录按钮,回调方法向服务器发出AJAX请求,并通过post传递经过身份验证的用户的FBID.服务器上的代码确定这是否是新用户,如果没有找到现有记录则在数据库中记录+记录access_token以允许服务器端API请求.

PHP SDK:

用户被重定向到Facebook的授权页面和脚本,在Facebook将用户重定向回我的应用程序之后执行该脚本,如果找不到该用户的现有记录,则会记录新记录.但是,如果我使用服务器端流进行身份验证,JS SDK是否能够执行对API的调用?

Rel*_*rus 8

PHP SDK的最新版本(3.11)包含了如何同时使用PHP SDK和Javascript SDK的示例.总而言之,他们通过cookie进行交流.

这个答案对你来说可能有点晚了,但我想我会提到它以防其他人在看.

https://github.com/facebook/php-sdk


squ*_*lan 3

您已经对语言之间的差异进行了深入的分析。除此之外,这确实是一种偏好,而且确实如此,没有什么可以阻止您同时使用两者。

要回答你的问题,在我看来,最好使用 javascript:

  1. 因为我更喜欢javascript。
  2. 因为用户可以在登录 Facebook 并与您的服务器通信时与您的网站进行交互。

如果您只想使用其中之一,那么您的数字 3 几乎需要 PHP SDK。除此之外,这确实是个人喜好。