2013-04-30 89 views
1

我正在構建一個webapp + android應用程序,並認爲如果我可以顯示「Alice」哪個朋友同時使用該服務會很有用。所以我有機會獲得所有用戶的電子郵件如何判斷用戶的哪些朋友也在使用我的應用?

用戶認證是通過谷歌oath2完成。

我想知道的是我將如何構造這樣的查詢?因爲我基本上已經是

我不希望有一個「我們是朋友是/否」系統和循環通過用戶整個聯繫人列表似乎很浪費。後端運行在php + mysql上。

我將如何實際查詢的人的名單I'm感興趣?

+0

我假設你有一個後端存儲這些信息。你的後端使用什麼語言和什麼樣的數據存儲? – BrettJ 2013-05-01 14:59:22

回答

0

對於可以執行此操作的API調用,存在已知功能請求。如果您想跟蹤此API調用的進度,可以列出以下問題以獲取電子郵件更新。 https://code.google.com/p/google-plus-platform/issues/detail?id=531

+0

我不認爲這屬於功能請求類別。你今天可以做到這一點,許多應用程序已經完成了。我認爲他真正的問題是如何有效地做到這一點。 – BrettJ 2013-05-01 14:58:05

+0

爲了清晰起見編輯了我的答案 - 最有效的方法是通過API調用,這就是功能請求的用途。 – Joanna 2013-05-01 17:55:53

+0

我已經爲這個問題出演過,因爲它基本上是我在找的東西。有一點運氣,他們會在我做之前發佈。 – richardwiden 2013-05-02 01:43:23

3

PhotoHunt目前是這麼做的。它通過執行以下步驟執行此操作:

  1. 當用戶登錄時存儲用戶的Google+標識(或電子郵件,在您的情況下)。爲了簡單起見,我們稱第一個登錄用戶Alice。
  2. 當新用戶,鮑勃,在標誌,執行people.list API調用來列出誰鮑勃可見到您應用了Google+ ID和比較這對已經存儲在您的網站的用戶的Google+的IDS。
  3. 如果有人在Bob的可見人們已經在網站上,由Google+ ID的比較所示,創建表明鮑勃與愛麗絲這種關係在您的私人社交圖中的邊。例如,如果Bob在Alice上對Alice進行圈選,他與Alice(Bob - > Alice,Bob將Alice圈出來,所以邊緣是Bob到Alice)建立了連接,並且創建從Alice到Bob的連接(Alice與Bob Bob在他的圈子裏有Alice)。
  4. 同樣的關係將被繪製的第三個用戶,切特,誰既有Alice和Bob在可見的圈子,並在圈Bob和Alice的列表。

在視覺上,我描述的圖被如下,箭頭表示從一個用戶到另一個邊緣:

enter image description here

對於Photohunt,從任何用戶給任何其他用戶的邊緣將創建他們在網站上看到對方的關係。在此過程中,您可以創建最全面的用戶圖表,最大限度地增加用戶之間的連接並最大限度地增加關係內容流中顯示的內容數量。

由於圖形以這種方式解釋爲Photohunt,Bob,Alice和Chet都看到他們通過Google+建立了關係,這反映在「社交」內容流中。從計算上來說,每次新用戶連接到您的網站時,您只需要執行檢查。

但是,可能存在隱私影響:Alice是否希望Bob知道她在網站上?

爲了減輕這種隱私問題,您還可以通過對Alice的可見人員執行第二次people.list API調用,以確認Alice在Bob的圈子中時執行另一次檢查。當Bob與Alice之間存在連接時,可以確保Bob與Alice之間存在關係,然後再揭露這兩個用戶都在該網站上。因此,只有具有相互聯繫的人才會知道他們在網站上。對於這種情況,只有切特和愛麗絲纔會看到對方,只有鮑勃和切特會看到對方。因爲鮑勃和艾麗斯沒有相互的聯繫,他們沒有看到對方。

該圖的第三種解釋是跟蹤「在可見的人」,關係,跟蹤「在我的可見人列表中」,最後,「已經相互可見」在您的網站上。

正如Brett指出的那樣,Joanna澄清說,對於產生相互關係或部分關係有性能影響。您要麼必須保留一份邊緣圖,以保存存儲您網站上尚未存在的連接的Google+用戶ID,否則您必須有效地輪詢所有識別連接的用戶。但是,如果您想將資源投入到生成私人圖形中,則可以在今天完成此操作。在手機上執行這些計算的含義相當可怕。如果你這樣做,我會建議在PHP/MySQL服務器上計算和維護圖形服務器端。

從數據庫的角度來看,您只會存儲「邊緣」關係。這極大地簡化了對圖的查詢,並且僅返回具有創建要跟蹤或公開的關係所需的正確邊緣約束的用戶。

+0

答案很好,很可能我最終會做的。雖然不是我所希望的,但它會幫助我實現所需的東西。謝謝! – richardwiden 2013-05-02 18:16:51

+0

我很高興它幫助! – class 2013-05-02 21:00:08

相關問題