当前位置: 首页 > 知识库问答 >
问题:

C#谷歌驱动器APIv3上传文件

锺离慈
2023-03-14
    UserCredential credential;


        string dir = Directory.GetCurrentDirectory();
        string path = Path.Combine(dir, "credentials.json");

        File.WriteAllBytes(path, Properties.Resources.GDJSON);

        using(var stream = new FileStream(path, FileMode.Open, FileAccess.Read)) {
            string credPath = Path.Combine(dir, "privatecredentials.json");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;
        }

        // Create Drive API service.
        _service = new DriveService(new BaseClientService.Initializer() {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        File.Delete(path);
        public void Upload(string name, byte[] content) {

        Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File();
        body.Name = name;
        body.Description = "My description";
        body.MimeType = GetMimeType(name);
        body.Parents = new List() { new ParentReference() { Id = _parent } };


        System.IO.MemoryStream stream = new System.IO.MemoryStream(content);
        try {
            FilesResource.InsertMediaUpload request = _service.Files.Insert(body, stream, GetMimeType(_uploadFile));
            request.Upload();
            return request.ResponseBody;
        } catch(Exception) { }
    }

谢了!

共有1个答案

公羊伟志
2023-03-14

我在我的应用程序winforms C#FW4.0上也有同样的问题,我已经安装了google drive api v3 by nuget,还从googles api创建了json文件,并插入到项目request.responsebody==null???

有人有解决办法吗?

提前致谢

 类似资料:
  • 这是我收到的错误

  • 这段代码运行良好: 有人能帮我修一下密码吗?

  • 我是否需要登录到google cloud来访问身份验证令牌或凭据的API

  • 当观察驱动器更改时,我会收到带有新更改ID的通知。但是当我尝试使用:driveservice.changes().get(changeId)查询它时,我断断续续地得到404。我是不是做错什么了? 正在观看文件: 当观察文件更改时,如果是文件夹,我想知道添加到该文件夹的新文件,所以我希望从该文件夹添加/删除文件时,“x-goog-resource-state”将包含“add/remove”值,而“x

  • 下面是https://github.com/google/google-api-nodejs-client的代码。 一般问题:刷新令牌实际上如何与访问令牌一起工作? 背景:根据我的解释,每个访问令牌都有一个有限的时间跨度(~1小时)。因此,当用户第一次连接到我的服务器(服务器为用户身份验证提供了机制)时,服务器将收到有限生命期访问令牌和一次性刷新令牌。1小时后,访问令牌过期。 谢了!