1

我想開發一個asp.net/c# web應用程序,其中應用程序的用戶可以上傳文件。這些文件將存儲在一個普通的Google驅動器中。我知道該驅動器的登錄ID和密碼(實際上是我的驅動器)。通過代碼而不是「同意屏幕」驗證Google用戶ASP.net/C#

驗證過程將在後臺完成。用戶不知道文件的存儲位置,也不需要Google驅動器權限,因此不需要同意屏幕

有沒有可能通過谷歌驅動器sdk?或者有什麼建議我該如何開發應用程序?

謝謝!

回答

0

您可以使用一個服務帳戶由@DaImTo

您也可以使用自己的帳戶描述(你的問題說:「其實這是我的驅動器」)這裏所描述How do I authorise an app (web or installed) without user intervention? (canonical ?)

+0

感謝答案。我怎麼能得到UserCredential獲取驅動器服務在c#中使用刷新令牌?任何示例或鏈接.. – hasnayn 2014-11-25 06:34:06

+0

對不起,我不使用C#庫。我相信會有一種構造函數的形式可以讓你包裝一個現有的令牌。該庫不關心如何生成刷新令牌,因爲它通常存儲在數據庫中供以後檢索。然後,您將使用刷新令牌生成訪問令牌。我猜UserCredential基本上是一個訪問令牌的包裝 – pinoyyid 2014-11-25 09:07:54

0

你在說什麼叫做Service account。將服務帳戶視爲用戶,您沒有登錄和密碼,但它有一個驅動器帳戶。您也無法使用網站版本的驅動器進行登錄。一切都必須通過API。

string[] scopes = 
      new string[] { DriveService.Scope.Drive, 
         DriveService.Scope.DriveFile};  

string keyFilePath = @"c:\file.p12" ; // found in developer console 
string serviceAccountEmail = "[email protected]"; // found in developer console 
//loading the Key file 
var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable); 
ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail) 
                    { 
                    Scopes = scopes  
                  }.FromCertificate(certificate)); 

創建服務:

DriveService service = new DriveService(new BaseClientService.Initializer() 
{ 
HttpClientInitializer = credential, 
ApplicationName = "Drive API Sample", 
}); 

所有的請求都將隨後雖然service運行。我有一個教程,會通過它來引導你,並在GitHub上有一個示例項目。 Google Drive API with C#注意:本教程使用oauth2使用上述認證代碼對服務帳戶進行認證。

相關問題