У меня есть рабочий пример.
В mix.exs:
#
defp deps do
[
# [your deps]
#
{:google_api_drive, "~> 0.12.0"},
{:goth, "~> 1.1.0"},
]
end
#
В app.ex:
#
# token = [your-valid-oauth-token]
# connection = GoogleApi.Drive.V3.Connection.new(token)
#
# # example:
# create_folder(connection,"foo")
#
# create_folder(connection,"bar", parent_id) # parent_id = parent folder's id
def create_folder(connection, name, parent_folder_id \\ nil) do
parent_folder_id_list = case parent_folder_id do
nil -> nil
_ -> [parent_folder_id]
end
file_meta = %GoogleApi.Drive.V3.Model.File{name: name, parents: parent_folder_id_list, mimeType: "application/vnd.google-apps.folder"}
connection |> GoogleApi.Drive.V3.Api.Files.drive_files_create_iodata(nil,file_meta,"",[],[])
end
# create_file_iodata(connection,"probe.json",%{"asd" => 1}, "application/json")
def create_file_iodata(connection, name, iodata, mime_type, parent_folder_id \\ nil) do
parent_folder_id_list = case parent_folder_id do
nil -> nil
_ -> [parent_folder_id]
end
file_meta = %GoogleApi.Drive.V3.Model.File{name: name, parents: parent_folder_id_list, mimeType: mime_type}
connection |> GoogleApi.Drive.V3.Api.Files.drive_files_create_iodata("multipart",file_meta,iodata,[],[])
end
#
Вы можете использовать drive_files_create_simple
вместо drive_files_create_iodata
, если вы хотите загрузить файлы.
Надеюсь, этот ответ поможет вам.