Google api 谷歌驱动Api服务帐户。创建文件时出错

Google api 谷歌驱动Api服务帐户。创建文件时出错,google-api,google-drive-api,jwt,Google Api,Google Drive Api,Jwt,我已经创建了一个文件夹和一个文件,有权访问任何Internet用户的文件。我过去认为上传本身工作正常。不幸的是,当我使用 命令,我看到的只是一个黑色方块,当我试图通过下载链接文件的属性下载时,它甚至无法打开 这是我的代码 private static String initiateResumable(string base64, string fileType){ String endpoint ='https://www.googleapis.com/upload/drive/v3/

我已经创建了一个文件夹和一个文件,有权访问任何Internet用户的文件。我过去认为上传本身工作正常。不幸的是,当我使用

命令,我看到的只是一个黑色方块,当我试图通过下载链接文件的属性下载时,它甚至无法打开

这是我的代码

private static String initiateResumable(string base64, string fileType){
    String endpoint ='https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable';

    map<String, Object> md = new map<String, Object>();

    md.put('name', 'demofile'); 
    md.put('parents', '[' + folderId + ']'); 

    String metadata = JSON.serialize(md);

    Integer size = Math.min(2000000, base64.length());

//return an HttpRequest object of POST method with
// Authorization token provided (JWT is used)
    HttpRequest req = createRequest('post');

    req.setEndpoint(endpoint);

    req.setHeader('Content-Type', 'application/json; charset=UTF-8');
    req.setHeader('Content-Length', String.valueOf(metadata.length()));
    req.setHeader('X-Upload-Content-Type', fileType);
    req.setHeader('X-Upload-Content-Length', String.valueOf(size));

    req.setBody(metadata);

    HttpResponse res = (new Http()).send(req);

    return res.getHeader('Location');
}

private static File sendFile(String base64, String fileType, String endpoint){
    Integer size = Math.min(2000000, base64.length());
    HttpRequest req = createRequest('put');
    HttpResponse res;

    req.setEndpoint(endpoint);

    req.setHeader('Content-Type', fileType);

    while(! String.isBlank(base64)){
        final string buffer = base64.left(size);
        base64 = base64.removeStart(buffer);

        req.setHeader('Content-Length', String.valueOf(buffer.length()));
        req.setBody(buffer);

        res = (new Http()).send(req);
    }

    return (File)JSON.deserialize(res.getBody(), File.class);
}

这是Salesforce的Apex,因此不适用于任何框架,但我相信语法非常简单。

您能分享日志中的任何错误吗?不幸的是,没有错误。也就是说,这是由GoogleDriveAPI仪表板告诉我们的。此外,可以通过“/files”和“/files/fileId”HTTP请求检索创建的文件,这可能很有用。这是一个文件的Id:19FHn4Lxke_10exvF-C0Z4OjI3pnr77I0它是下载URL:和嵌入URL:您能分享日志中的任何错误吗?不幸的是,没有错误。也就是说,这是由GoogleDriveAPI仪表板告诉我们的。此外,可以通过“/files”和“/files/fileId”HTTP请求检索创建的文件,这可能很有用。这是一个文件的Id:19FHn4Lxke_10exvF-C0Z4OjI3pnr77I0它的下载URL:和嵌入URL:
    HttpRequest req = createRequest('get');
    req.setEndpoint('https://www.googleapis.com/upload/drive/v3/files?uploadType=media');
            
    req.setHeader('Content-Type', fileType);
    req.setHeader('Content-Length',String.valueOf(base64.length()));
    req.setHeader('Content-Transfer-Encoding', 'base64');
    
    req.setBody(base64);
    
    HttpResponse res = (new Http()).send(req);
    
    File file = (File) JSON.deserialize(res.getBody(), File.class);
    
    return file;