2011-09-22 106 views
0

我一直在想办法让我的iframe Facebook应用程序(内置在PHP中)工作,而不需要单独的身份验证方法。我已经登录到Facebook,但由于某种原因,我仍然可以从PHP SDK中的示例中看到所有这些Oauth的声明。Facebook应用程序没有提示身份验证

我需要的唯一数据是公开可用的,即使没有他们“添加”我的应用程序。我期待收集他们的Facebook ID(因为这是一场比赛,我们需要一个唯一的ID进行跟踪),他们的名字和(可选)他们的电子邮件地址。

问题是,除非我已经知道他们的Facebook用户名,否则我不能使用API​​来获取公共信息。有关我如何能够获取其登录用户名或公共句柄的任何想法,以便我可以获取其余信息?

无论出于何种原因,Oauth今天让我对Facebook完全疯狂。

旁注:

我还是设法在技术上获得的Javascript SDK运行,其中喂一些信息到PHP使用。唯一的问题是,一旦我登录,我看不到数据。如果我刷新...然后显示。不确定为什么刷新是必需的,因为我不希望用户实际上必须刷新才能继续使用该应用程序。

回答

1

我猜你是一个有点糊涂这里,Facebook将份额的用户名,ID,全名或电子邮件用户明确授权/让您的应用程序(并在电子邮件的情况下,请求email权限!)。

阅读官方Canvas Tutorial了解更多信息:

为了获得默认访问所有可用的用户信息到您的 的应用程序(如用户的Facebook ID),用户必须授权 你的应用。

+0

那么这有点奇怪,因为我想要的基本信息可以让任何人公开地假设我已经知道他们的用户名。它在Facebook的PHP SDK中的例子中,像这样... $ naitik = $ facebook-> api('/ naitik'); –

+0

准确地说,你在这里说的是:'假设我已经知道他们的用户名',用户名就像ID一样是唯一的,所以它就像说我想猜ID!如果您需要Facebook向您发送当前***未知***用户*公开*详细信息(包括用户名和ID)访问您的应用程序,用户**必须**授权您的应用程序。 – ifaour