用于将文件上传到Google云端硬盘的服务帐户身份验证

时间:2016-08-08 22:52:21

标签: c# asp.net-mvc google-drive-api

我需要从我的网络应用程序上传文件到Google云端硬盘。我需要使用服务帐户身份验证。我在这里阅读了Google云端硬盘指南:DotNetQuickStart和本教程用于身份验证Authentication Google Drive MVC,但我不知道我需要做什么。

为了Google Drive指南,我已将参数设置为Google Developers Page。

我已经将secret.json文件下载并实现到我的项目中,并且已将此代码添加到我的项目中:

public static Google.Apis.Drive.v2.Data.File uploadFile(string _uploadFile, string _parent)
    {
        string[] scopes = new string[] { DriveService.Scope.Drive }; // Full access

        var keyFilePath = @"c:\file.p12";    // Downloaded from https://console.developers.google.com
        var serviceAccountEmail = "xx@developer.gserviceaccount.com";  // found https://console.developers.google.com

        //loading the Key file
        var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable);
        var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail)
        {
            Scopes = scopes
        }.FromCertificate(certificate));

但是我无法理解在keyFilePath和serviceAccountEmail中设置什么。如何设置此代码?感谢所有

1 个答案:

答案 0 :(得分:0)

您将需要P12密钥文件而不是secret.json

转到https://console.developers.google.com/iam-admin/serviceaccounts - >选择你的项目 - >点击位于所列服务帐户右侧的3个垂直点 - >创建密钥 - >你会看到下面的对话框

enter image description here