如果我使用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上传内容,从而更加确定要创建的文档类型。
答案 0 :(得分:0)
您的哑剧类型应该是源文档的哑剧类型,而不是目标Google文档的哑剧类型。因此,例如,OpenOffice .ods电子表格将为“ application / vnd.oasis.opendocument.spreadsheet”。