使用 google-api-ruby-client 将文本写入 google 文档文件
Write text to a google doc file with google-api-ruby-client
我正在尝试使用 google-api-ruby-client.
将一些文本写入新的 google 文档文件
我认为以下内容应该有效,但它无效:
file_metadata = {
name: "Testing",
mime_type: 'application/vnd.google-apps.document'
}
@drive.create_file(file_metadata,
fields: 'id',
upload_source: StringIO.new("tt"),
content_type: 'text/text')
当我 运行 这个我得到 Google::Apis::ClientError: badRequest: Bad Request
更新:在 Tanaike 在下面发布正确答案后,我还必须移动在我的服务用户的根目录中创建的文件。最终(工作)代码如下所示
file_metadata = {
name: "Filename",
mime_type: 'application/vnd.google-apps.document'
}
file = @drive.create_file(file_metadata,
fields: 'id,parents',
upload_source: StringIO.new("Text to go in file"),
content_type: 'text/plain')
current_parent = file.parents.first
@drive.update_file(file.id, nil,
add_parents: "#{@folder_id}",
remove_parents: "#{current_parent}")
这个修改怎么样?在这种情况下,文本的 mimeType 是 text/plain
.
发件人:
content_type: 'text/text'
收件人:
content_type: 'text/plain'
注:
- 在我的环境中,当我使用
content_type: 'text/text'
时,出现同样的错误。当我使用 content_type: 'text/plain'
时,包含 tt
文本的 Google 文档被创建到 Google 驱动器上的根文件夹。
- 在这种情况下,假设您的
@drive
可以用于上传文件。
参考:
我正在尝试使用 google-api-ruby-client.
将一些文本写入新的 google 文档文件我认为以下内容应该有效,但它无效:
file_metadata = {
name: "Testing",
mime_type: 'application/vnd.google-apps.document'
}
@drive.create_file(file_metadata,
fields: 'id',
upload_source: StringIO.new("tt"),
content_type: 'text/text')
当我 运行 这个我得到 Google::Apis::ClientError: badRequest: Bad Request
更新:在 Tanaike 在下面发布正确答案后,我还必须移动在我的服务用户的根目录中创建的文件。最终(工作)代码如下所示
file_metadata = {
name: "Filename",
mime_type: 'application/vnd.google-apps.document'
}
file = @drive.create_file(file_metadata,
fields: 'id,parents',
upload_source: StringIO.new("Text to go in file"),
content_type: 'text/plain')
current_parent = file.parents.first
@drive.update_file(file.id, nil,
add_parents: "#{@folder_id}",
remove_parents: "#{current_parent}")
这个修改怎么样?在这种情况下,文本的 mimeType 是 text/plain
.
发件人:
content_type: 'text/text'
收件人:
content_type: 'text/plain'
注:
- 在我的环境中,当我使用
content_type: 'text/text'
时,出现同样的错误。当我使用content_type: 'text/plain'
时,包含tt
文本的 Google 文档被创建到 Google 驱动器上的根文件夹。 - 在这种情况下,假设您的
@drive
可以用于上传文件。