2015-11-25 52 views
1

我是Google API的新手,並嘗試在Windows Phone上使用其.NET客戶端庫。Google API for .NET - idatastore userid

我正在使用GoogleWebAuthorizationBroker授權用戶。問題是它有一個「userID」參數。它是什麼?它是Google電子郵件帳戶嗎?如何在第一次運行應用程序時知道用戶的帳戶?

https://developers.google.com/api-client-library/dotnet/reference/1.9.2/classGoogle_1_1Apis_1_1Auth_1_1OAuth2_1_1GoogleWebAuthorizationBroker#a95045cb55eeb08fadd27b33e0193327c

感謝,

回答

2

這將是一個很長的答案,我從我的教程大多是複製文本Google .net – FileDatastore demystified

讓我們看看FileDataStore。當下面的代碼進行身份驗證時。名爲Drive.Auth.Store的文件夾將在執行代碼的機器上的%AppData%目錄中創建。

因此,我們將有一個名爲%AppDatat%\ Drive.Auth.Store的新目錄。當我檢查我的機器,我覺得在這裏C:\用戶\ lindaHP \應用程序數據\漫遊\ Drive.Auth.Store

UserCredential credential; 
using (var stream = new FileStream(clientSecretsJsonFilePath 
            ,FileMode.Open 
            ,FileAccess.Read)) 
     { 
     credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
     GoogleClientSecrets.Load(stream).Secrets, 
     new[] { DriveService.Scope.Drive, DriveService.Scope.DriveFile }, 
     "LookIAmAUniqueUser", 
     CancellationToken.None, 
     new FileDataStore("Drive.Auth.Store")        
    ).Result; 
     } 

假設用戶點擊接受認證請求屏幕上,一個新的文件將被創建該目錄結構如下:

Google.Apis.Auth.OAuth2.Responses.TokenResponse-LookIAmAUniqueUser.TokenResponse-LookIAmAUniqueUser

答:

Userid是你想要它只是一個字符串。它只是用來區分同一臺計算機上的多個用戶保存身份驗證。

當您想要再次加載用戶時,您將傳遞該用戶的用戶標識,客戶端庫將加載他或她的認證。這在windows phone上並不是非常需要。應該可能只有一個用戶。

如果你想加載不同的用戶,你可以改變用戶ID,它將保存該用戶的認證(或者如果有問題的用戶已經認證你的應用,則加載它)