2011-09-22 105 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