Google api 使用elixir google api在GDrive中创建文件夹
我正在尝试使用Google api 使用elixir google api在GDrive中创建文件夹,google-api,elixir,Google Api,Elixir,我正在尝试使用elixir google api创建一个应用程序,在GDrive上维护文件和文件夹。我有下面的代码,但正在努力确定如何准确地传递名称和mimeType 以前是否有人使用过此api,并且可以说明我的错误所在 谢谢, 彼得 我有一个有效的例子 在mix.exs中: # defp deps do [ #[你的部门] # {:google\u api\u drive,“~>0.12.0”}, {:哥特,“~>1.1.0”}, ] 结束 # 在app.ex中: # #令牌=[您的有效oa
elixir google api
创建一个应用程序,在GDrive上维护文件和文件夹。我有下面的代码,但正在努力确定如何准确地传递名称和mimeType
以前是否有人使用过此api,并且可以说明我的错误所在
谢谢,
彼得
我有一个有效的例子 在mix.exs中:
#
defp deps do
[
#[你的部门]
#
{:google\u api\u drive,“~>0.12.0”},
{:哥特,“~>1.1.0”},
]
结束
#
在app.ex中:
#
#令牌=[您的有效oauth令牌]
#connection=GoogleApi.Drive.V3.connection.new(令牌)
#
##示例:
#创建_文件夹(连接,“foo”)
#
#创建父文件夹(连接,“条”,父文件夹id)#父文件夹id=父文件夹的id
def创建文件夹(连接、名称、父文件夹\u id\\nil)是否执行
父文件夹id列表=案例父文件夹id do
零->零
_->[父文件夹\u id]
结束
文件\u meta=%GoogleApi.Drive.V3.Model.file{name:name,parent:parent\u folder\u id\u list,mimeType:“application/vnd.google apps.folder”}
连接|>GoogleApi.Drive.V3.Api.Files.Drive_Files_create_iodata(nil,file_meta,“,[],[])
结束
#创建_文件_iodata(连接,“probe.json”,“%{“asd”=>1},“application/json”)
def create_file_iodata(连接、名称、iodata、mime_类型、父文件夹\u id\\nil)是否创建
父文件夹id列表=案例父文件夹id do
零->零
_->[父文件夹\u id]
结束
文件\u meta=%GoogleApi.Drive.V3.Model.file{name:name,parent:parent\u folder\u id\u list,mimeType:mime\u type}
连接|>GoogleApi.Drive.V3.Api.Files.Drive_Files_create_iodata(“multipart”,file_meta,iodata,[],[])
结束
#
当您想要上传文件时,可以使用drive\u files\u create\u simple
而不是drive\u files\u create\u iodata
我希望这个答案对你有帮助
def create_folder(name) do
connection
|> File.create(name: name, mimeType: type_folder())
end
def File.create(connection, opts \\ []) do
optional_params =
%{
:ignoreDefaultVisibility => :query,
:keepRevisionForever => :query,
:ocrLanguage => :query,
:supportsTeamDrives => :query,
:useContentAsIndexableText => :query,
:appProperties => :form,
:description => :form,
:folderColorRgb => :form,
:id => :form,
:mimeType => :form,
:modifiedTime => :form,
:name => :form,
:originalFilename => :form,
:parents => :form,
:properties => :form,
:starred => :form,
:viewedByMeTime => :form,
:viewersCanCopyContent => :form,
:writersCanShare => :form
}
|> Map.merge(standard_params())
connection
|> GoogleApi.Drive.V3.Api.Files.drive_files_create(Map.to_list(optional_params), opts)
|> IO.inspect
end