我正嘗試使用Google Contacts API和Python/GDATA客戶端處理程序通過OAuth 2.0爲域中的用戶訪問聯繫人。我最終想創建一個Web服務來爲用戶添加聯繫人,但第一步是讓這個測試工作。Google Contacts API - 訪問其他用戶
我可以訪問我自己的聯繫人就好,如果我使用默認的URI。但是,當我傳遞電子郵件地址來爲其他用戶構建URI時,我似乎無法訪問其他用戶的聯繫人。以下是我正在使用的代碼:
client.GetContacts(uri=client.GetFeedUri(contact_list=userEmail))
執行此操作時會返回403錯誤。
gdata.client.RequestError: Server responded with: 403
Your client does not have permission to get URL /m8/feeds/contacts/<userEmail>/full from this server.
大部分只是試圖瞭解是否我在這裏嘗試甚至可能。例如,在電子郵件設置API中,您可以通過域的身份驗證並傳遞用戶的電子郵件以列出其標籤,添加過濾器等。因此,我預計Contacts API的工作原理相同,但處理方式稍有不同即修改URI,而不是僅僅將參數傳遞給客戶端處理程序。如果我在這種推定中錯了,請讓我知道。
對於授權,我使用flow_from_clientsecrets獲取詳細信息,然後獲取令牌以授權域名的ContactsClient。再次,我可以訪問我自己的聯繫人,因此授權似乎沒問題,但我無法訪問其他用戶的聯繫人。
client = token.authorize(ContactsClient(domain=domain))
好像我錯過了一些關於訪問其他用戶的內容。有人能幫助我克服這個麻煩嗎?下面是我查了一些事情/證實:
- 聯繫人API爲
- 作用域已被授權在控制面板中的客戶端ID的項目啓用>管理第三方接入
- 我超級管理員在域中。
感謝您的時間!