导入文档时,Google不遵守模仿类型

时间:2018-06-26 16:24:59

标签: google-drive-api

如果我使用Google驱动器V3创建api上传文件并提供合法的mime类型(application / vnd.google-apps.drawing或application / vnd.google-apps.sheet),Google会忽略我的mime输入并创建文档,或者给我一个错误。

例如,应该可以将ODT电子表格上传到Google工作表,但可以将其设为文档。似乎没有任何方法可以洞悉幕后应用的哪种启发式方法。

我尝试在注释中添加此字符,但只允许几个字符。这是我的最新理解。

我解决了无法通过create方法创建电子表格的问题,方法是先创建不包含任何内容的工作表,然后使用update方法添加内容,这是可行的。我相信create api中存在错误。

我仍然无法使用图纸的create / update API。我无法使用jpeg或png作为输入来创建任何类型的图形。这是一些示例代码:

func GoogleComment(actContext activity.Context,
    log logger.Logger) (map[string]interface{}, error) {
    srv, err := getSAService(actContext, log, true) //get a *drive.Service
    if err != nil {
        return nil, err
    }
    var filesResource drive.File
    filesResource.Name = "somename"
    filesResource.MimeType = "application/vnd.google-apps.drawing"
    filesResource.Description = "some description"
    filesCreateCall := srv.Files.Create(&filesResource)
    filesResource.Parents = strings.Split(parents, "parentfoldera,parentfolderb") //fileids in the real world

    var outputObj map[string]interface{}
    text, _ := getInputVar(input, TEXT, false)
    imageBytes, _ := ioutil.ReadFile("some jpeg image file")
    filesCreateCall.Media(bytes.NewReader(imageBytes))
    filesResourceResult, err := filesCreateCall.Fields("*").Do()
    if err != nil {  
        return nil, fmt.Errorf("GoogledocsCreate failed to update file for reason: %s", err)
    }

}

这总是返回错误:错误400:错误的请求,badRequest

我在这里阅读:https://gsuite-developers.googleblog.com/2010/10/google-drawings-support-added-to.html 图纸的导入者只能理解WMF文件,这些文件是windoze专有的,对我没有用。 有什么想法吗? wcn

我希望能够通过api上传内容,从而更加确定要创建的文档类型。

1 个答案:

答案 0 :(得分:0)

您的哑剧类型应该是源文档的哑剧类型,而不是目标Google文档的哑剧类型。因此,例如,OpenOffice .ods电子表格将为“ application / vnd.oasis.opendocument.spreadsheet”。