2012-02-17 39 views
2

我知道可以通過getSignedRequest獲取用戶的區域設置,並且可以在授權應用程序後獲取https://graph.facebook.com/me?fields=locale的用戶區域設置。但是,在他們授權應用程序之前可以使用的等效圖形api url是什麼?我所有的代碼都與圖形api,所以我真的不想現在切換到使用整個facebook-> getSignedRequest()的東西。我無法在任何地方找到它,但似乎很傻這個功能並沒有在圖形api中提供?使用圖形API獲取區域設置NOT getSignedRequest

+0

你的意思是沒有訪問令牌?我不確定爲什麼你能夠在沒有授權的情況下看到語言環境。這是公共領域嗎? – 2012-02-17 14:28:48

+0

你可以用facebook-> getSignedRequest yes。他們不需要接受應用程序。但似乎沒有與圖api等價,這是沒有意義的。 $ = Facebook的新的Facebook(陣列( 'APPID'=> $ APP_ID, '祕密'=> $ app_secret, '的Cookie'=>真 )); $ signed_request = $ facebook-> getSignedRequest(); print「get locale」。$ signed_request ['user'] ['locale']; 在接受權限之前,獲取用戶的語言環境對翻譯您的應用程序至關重要。否則,他們爲什麼會接受另一種語言的應用程序的權限。 – Baxter 2012-02-17 14:41:17

+1

在文檔http://developers.facebook.com/docs/reference/api/user/旁邊的語言環境,它說「沒有access_token要求」。但是當你試圖用「我」來調用它時,它不起作用,我不能用用戶的ID來調用它,因爲他們沒有授權該應用程序,所以我沒有它。所以儘管它說它是公開的,但我不認爲它是如此。 – Baxter 2012-02-17 14:43:00

回答

1

您必須選擇使用signed_request(在POST請求中發送到Facebook上的所有應用程序)或授權用戶。

如果您沒有執行其中之一,那麼您將不知道用戶標識是什麼,因此您將永遠無法識別其語言環境。

signed_request只是要求您能夠捕獲請求數據,然後執行鏈接到上述文檔中概述的解析邏輯 - 它不需要使用任何SDK或API,只需要讀取請求的能力(大多數語言都可以做到這一點)。

+0

完美!謝謝 – Baxter 2012-02-17 15:00:13

+0

如果我的回答很有幫助,您能否將其標記爲接受的答案?謝謝 :) – 2012-02-17 16:34:03