0

我開發了windows phone store商店應用程序和集成google登錄功能,而不使用Google.Apis sdk。Google apis sdk for windows phone store app

我用WebAuthenticationBroker和它的工作正常。

更新1:

現在我在努力探索更新Google.Apis SDK的谷歌集成登錄。

我能夠用這個進入谷歌的登錄界面:

credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
       new Uri("ms-appx:///Assets/client_secrets.json"), 
       new[] { "openid", "email" , "profile"}, 
       "user", 
       CancellationToken.None); 

和webAuthenticationResult得到響應方含code進一步需要。

但是,進一步使用它,我需要知道它給除了GoogleWebAuthorizationBroker.AuthorizeAsync所有API,你有什麼關於Blogger /驅動器的API解釋任何API文檔 但不是訪問令牌到期處理的API正常登錄流程的需求。

如果您花時間給我一個關於如何使用此SDK進行第二次應用程序啓動的指示,我將非常感謝您,使用刷新令牌處理令牌過期,因爲我看到它每次都會導航到登錄頁面使用GoogleWebAuthorizationBroker.AuthorizeAsync

我們是否需要處理這些所有情況或SDK是否需要關注它?

任何幫助真的很感謝Peleyal。 謝謝。

+0

我真的不明白這個問題。您可以通過以下網址查看完整版通用樣本:https://code.google.com/p/google-api-dotnet-client/source/browse/?repo=samples#hg%2FBlogger.Sample – peleyal

+0

謝謝你的迴應。我已經檢查過Blogger示例,在那裏加載客戶端祕密json文件是在共享代碼中完成的,因爲應用程序是通用的。我只做Windows應用商店應用程序,並且無法使用您所做的方式形成uri。還在博客樣本中獲得聚合異常。 – vITs

+0

它應該工作。確保將文件添加爲內容並將其複製到VS屬性中。添加您的確切代碼和確切的聚合異常,以便我和其他用戶能夠提供幫助。 – peleyal

回答

3

我剛剛在今天早些時候更新了文檔,其中包括一個在Windows Phone 8.1應用程序中使用OAuth 2.0的簡短教程。

請看:https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#wp81

UPDATE:

它一提的是作爲谷歌蜜蜂驗證庫的一部分,得到了授權代碼時,應用程序將使用刷新和訪問令牌替換是很重要的。 https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#credentials

更新2:
訪問令牌將使用刷新令牌,你可以在發現自動刷新
按照指示,我看到流混淆我們的某些用戶(我會即將更新的文檔),和我想弄清楚這裏:

  • 在第一時間,你需要訪問谷歌的API,你應該打電話給你GetFilesAsync(或者訪問其他一些功能文件\視頻\博客或您正在使用的任何API)。
    這最終會導致致電GoogleWebAuthorizationBroker.AuthorizeAsync。 該實現檢查是否已有訪問和刷新令牌,並且因爲沒有,它將繼續使用SerializableWebAuthResult.Name檢查授權代碼是否保存在數據存儲中。情況並非如此,因此它啓動了暫停當前應用程序並打開登錄窗口的授權流程。

  • 在應用程序再次激活後,我們稱繼續管理器繼續流程(文檔中的步驟5),然後調用ContinueWebAuthentication(步驟6)。
    ContinueWebAuthentication存儲我們剛剛收到的授權碼,並再次調用GetFilesAsync。這次數據存儲中存在授權代碼,因此方法將其交換用於訪問和刷新令牌,並將它們存儲在數據存儲中。然後開發人員有責任從數據存儲中刪除授權代碼(使用SerializableWebAuthResult.Name鍵,這一步可能會在未來簡化)。

  • 注意,在這一點上,訪問令牌和刷新令牌存儲,因此任何未來的GetFilesAuthorizeAsync調用將導致檢索標記形成數據存儲和檢查,如果訪問令牌仍然有效,如果沒有 - 庫將使用刷新標記自動刷新它。

希望它使流動​​更清晰,隨時添加更多評論,所以我會盡量讓這個流程儘可能清晰。

+0

我非常感謝您爲更新wp8.1的googl文檔所付出的努力,而此前並沒有這樣做。我沒有使用Goigle.Apis完成谷歌集成,只需要像webAuthenticationBroker等必要的所謂的谷歌服務。但我真的想使用這個SDK。 Doea通過使用第一次獲得的長壽命刷新令牌來提供更新訪問令牌的機制,因爲訪問令牌僅具有1小時過期。 – vITs

+0

我試過這個SDK,我能夠獲得登錄屏幕。爲了進一步使用它,我只想知道這個sdk提供的所有功能。它是否通過保存刷新令牌和更新訪問令牌來第二次處理登錄。有沒有這個SDK的任何API文件?請檢查我更新的問題。 – vITs

+1

當然!作爲Google Apis Auth庫的一部分,訪問令牌將自動使用刷新令牌爲您刷新,正如您可以在https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth中找到的那樣#credentials – peleyal