2011-04-06 55 views
13

Facebook圖形API。Facebook回調JSON有時不回電子郵件

我正在請求電子郵件的權限,它的工作除一些用戶以外的所有罰款,json不返回電子郵件字段。我不知道爲什麼會發生這種情況。代碼是相同的,並且它對所有用戶都很好,除了100個左右的用戶,json中沒有這個字段的用戶會返回1個郵件字段。所有其他領域都在那裏。

有沒有人遇到過這個問題?

我檢查了facebook的隱私設置,如果用戶允許電子郵件訪問Facebook應用程序,沒有什麼能夠阻止電子郵件進入json,但這發生在我身上。我搜索了網絡,似乎沒有人看到這個問題。

任何暗示將不勝感激

+0

這取決於Facebook上的用戶。他們可以設置隱私政策,以避免共享電子郵件地址。 – 2011-04-06 23:01:59

+0

感謝您的回覆。即使在用戶在進行FB Connect時授予對應用程序的電子郵件訪問權之後,這種選項還是可以阻止電子郵件進入json。 – 2011-04-07 04:58:11

+0

我認爲這是在用戶隱私選項卡上。您可以設置應用程序可以或不可以看到的內容。 – 2011-04-07 06:48:01

回答

1

從來不做什麼Facebook將送你,永遠不要指望每場在場,從來沒有想到一個圖形要求做你想做的假設。

Facebook有時會做這樣的事情,在這裏和那裏缺少一個領域,在其他地方出現一個神祕和意想不到的錯誤...雖然它可能不會造成傷害請注意,它也會發生在用戶啓動時發送的signed_request應用程序。

你也必須知道'你的'Facebook可能不是其他人的Facebook。他們對他們的代碼進行地理和隨機部署。隱藏您的電子郵件地址到每個應用程序的選項可能會顯示給某人,但不會爲其他人,沒有任何特殊原因。

考慮到您的特定問題,我懷疑有一個選項可以將您的電子郵件地址隱藏到具有郵件許可權的應用程序,但如果權限不是強制性的,則某人可以接受您的應用程序並在稍後選擇可選許可。

0

我最近處理這個問題。顯然,Facebook只承諾返回「有效電子郵件」地址。某些帳戶沒有任何「有效的電子郵件」。他們可以是使用電話進行驗證的帳戶,也可以是帳戶電子郵件已過期的帳戶。我試着用一個帳戶的電子郵件,讓我們說「xxxx.gmail.com」已過期,當查詢該帳戶圖時,我無法獲得任何電子郵件顯示(通過使用臉譜調試器)。但是,當我在Gmail中登錄xxxx.gmail.com,並重新激活電子郵件,並且我再次查詢圖形api的帳戶,它能夠返回給我的電子郵件。

0

有一段時間有同樣的問題,導致一些沉重的頭撞牆。

在我的情況

問題是由於一個事實,即有些用戶未經驗證的電子郵件沒有電子郵件在所有(通過手機/短信報名時)。 在這種情況下,Facebook不會在回覆中提供電子郵件。

注:

facebook docs

  1. https://github.com/mkdynamic/omniauth-facebook/issues/61
  2. :如果沒有有效的電子郵件地址是 可供用戶

來源這一領域將不予退還

  • Register with Facebook sometimes doesn't provide email(塞巴斯蒂安和c OLM的回答)
  • https://developers.facebook.com/docs/reference/api/user/
  • 0

    只爲我工作是請求通過API允許領域的事情:

    FB.api("/me", {fields: "email,..."}, callback) 
    

    這完全固定的問題。 希望有所幫助。

    相關問題