2013-06-28 169 views
2

目前我正在嘗試檢索所有用戶的聯繫信息以及檢索其唯一的用戶ID。谷歌聯繫人的API和範圍?

我們的應用需要使用用戶谷歌聯繫人,用戶將使用谷歌登錄。因此,我們需要一些方法來識別每個獨特的用戶(很可能是由谷歌提供的唯一用戶ID)

這是可能的只有使用谷歌聯繫人API。

初始呼叫我做檢索訪問令牌是:

https://accounts.google.com/o/oauth2/auth?client_id=51672309258-94cnvnrkrverd72neakom9d3siscda5o.apps.googleusercontent.com&redirect_uri=http://localhost/lunch/oauth.php&scope=https://www.google.com/m8/feeds/&response_type=code

但是我不相信從這個調用返回的訪問令牌的用戶ID的任何信息,也不會不提供從Google+ API中檢索用戶ID的權限。

反正有人可以從google contacts API獲取唯一的用戶ID嗎?有一些獲取用戶聯繫人的用戶標識的示例,但我需要獲取實際的用戶標識(即,我正在獲取其聯繫人的用戶)?

這是否需要另一個範圍,或者這也可以通過使用聯繫人API來完成?

回答

0

您可以通過他/她的電子郵件地址識別用戶,這是唯一的AFAIK。當你向谷歌聯繫人API發出請求時,你會在xml中獲得一個名爲Id的字段,即用戶的電子郵件地址。

例如你可以要求所有聯繫人,你會得到一個像this這樣的xml。你可以根據你使用的編程語言,lib等編寫Id字段,你可以使用你現有的權限。例如,在C#和GDATA,你會做這樣的事情(googleCredentials應該是你的對象):

 var cr = new ContactsRequest(settings); 
     var feed = cr.GetGroups(); 
     googleCredentials.Email = feed.AtomFeed.Id.Uri.Content; 
0

注:特殊USEREMAIL值默認可以用來指 身份驗證的用戶。

來自文檔documentation。您可以嘗試關鍵字default作爲userEmail。