Невозможно запустить задачу mix google_apis.auth - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь интегрировать приложение Elixir с Google Drive, используя elixir-google-api.

В соответствии с документами существует смешанная задача google_apis.auth, которую можно использовать для создания токена. , микс не может найти эту задачу. Нужно ли добавить что-то дополнительное в мой mix.exs?

defp deps do
    [
     {:ecto_sql, "~> 3.0"},
     {:postgrex, ">= 0.0.0"},
     {:account_service, in_umbrella: true},
     {:jason, "~> 1.1"},
     {:google_api_drive, "~> 0.11.0"},
     {:goth, "~> 1.2"}
    ]
  end```

Thanks,
Peter

Ответы [ 3 ]

0 голосов
/ 16 марта 2020

Существует другое решение для получения токена в Elixir.

Сначала я последовал этому: https://github.com/googleapis/elixir-google-api#obtaining -an-access-token .

Но вы Можно создать учетную запись службы для вашего приложения и загрузить закрытый ключ в формате json. https://console.cloud.google.com/iam-admin/serviceaccounts. Перед использованием Drive Api необходимо активировать, посетив https://console.developers.google.com/apis/api/drive.googleapis.com/overview.

и поместив строку в файл config/config.exs:

config :goth,
  json: "full_path_of_your_service_account_private_key.json" |> File.read!

Пример:

def drive_connect() do
   {:ok, token} = Goth.Token.for_scope("https://www.googleapis.com/auth/drive")
   connection = GoogleApi.Drive.V3.Connection.new(token.token)
end
0 голосов
/ 06 мая 2020

У меня была такая же проблема. Задача google_apis.auth не существует ни в одном пакете миксов (по крайней мере, я не смог ее найти).

Чтобы создать токен, необходимо клонировать репозиторий и сменить каталог:

git clone git@github.com:googleapis/elixir-google-api.git
cd elixir-google-api

Скомпилируйте приложение: mix compile

Затем выполните задачу согласно README:

mix google_apis.auth https://www.googleapis.com/auth/drive

Не забудьте export GOOGLE_CLIENT_ID и GOOGLE_CLIENT_SECRET env vars.

0 голосов
/ 12 марта 2020

То, что аутентификационная задача , по-видимому, присутствует в основном проекте google_api , но не в проекте клиента диска , который вы используете.

Никогда не использовал эти библиотеки, поэтому я не знаю, что здесь лучше всего делать; используйте основной elixir-google-api проект или сгенерированную клиентскую библиотеку.

...