我想开发一个asp.net/c# web应用程序,我的应用程序的用户可以上传文件。这些文件将存储在常见的Google云端硬盘中。我知道该驱动器的登录ID和密码(实际上是我的驱动器)。
验证过程将在后台完成。用户不知道文件的存储位置,也不需要Google驱动器权限,因此无需同意屏幕。
Google-drive-sdk 可以吗?或者任何建议如何开发应用程序?
谢谢!
答案 0 :(得分: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 = "xx@developer.gserviceaccount.com"; // 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使用上述身份验证代码对服务帐户进行身份验证。
答案 1 :(得分:0)
您可以使用@DaImTo
所述的服务帐户您也可以使用自己的帐户(问题显示“实际上是我的云端硬盘”),如此处所述How do I authorise an app (web or installed) without user intervention? (canonical ?)