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