我用它存儲的訪問令牌GoogleWebAuthorizationBroker類形式.NET客戶端庫,並在文件存儲刷新令牌,就像這樣:GoogleWebAuthorizationBroker不會自動返回新的訪問令牌刷新令牌
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret },
scopes, "XXXXXX", CancellationToken.None
,new FileDataStore("XXXXXX")
).Result;
如果作品,但一小時後,當acces令牌無效時,再次啓動AuthorizeAsync時,「憑證」對象中返回的訪問令牌不會被更新,因爲它應該是(我在調試模式和acces令牌仍然是一樣的,沒有更新)。即使瀏覽器不啓動要求用戶授予權限(我用它的Google聯繫人API)。
我使用OAuth2與.Net谷歌客戶端庫進行認證,因爲它比用gdata庫進行認證要簡單得多。 不過,我使用舊的gdata庫更新Gmail聯繫人(新的聯繫人API不允許YET聯繫人數據修改)。
混合這些API是否存在問題?我應該用gdata庫來驗證嗎?
Thanx。
Thanx DaImto。我使用您的博客http://www.daimto.com/google-contacts-with-c/中的代碼來使用gdata請求。實際上,您在評論部分的博客中提到,您在調試模式下進行了嘗試,並且發現一小時後,由AuthorizeAsync返回的acces令牌會被更新。我使用了相同的代碼,但它沒有。爲什麼?至於People.get解決方法,你能指出一些示例C#代碼嗎? –
你可能想嘗試玩人api。 https://developers.google.com/people/api/rest/v1/people.connections它似乎讀取從谷歌聯繫人。 – DaImTo
我如何創建「服務」對象? –