0

我正在尝试为 Elixir 使用 OAuth2来获取访问令牌以与 Google Cloud Storage API 进行交互。我一直在尝试使用 OAuth2 Playground,我可以提出请求,然后他们将令牌还给我。在执行基本的 GET 请求(列出项目中的存储桶)后,它一切正常,但当然我需要在我的应用程序中自动获取令牌,而不是复制粘贴。

  def token do 
  client = OAuth2.Client.new([
            strategy: OAuth2.Strategy.AuthCode, #default
            client_id: "myClientID",
            client_secret: "myClientSecret",
            site: "https://www.googleapis.com",
            redirect_uri: "https%3A%2F%2Fdevelopers.google.com%2Foauthplayground" #I HAVE NO IDEA WHAT SHOULD BE HERE???
  ])

  token =
    client
    |> OAuth2.Client.put_param(:code, "myAuthCode")
    |> OAuth2.Client.get_token!()

我不断收到“未找到”消息。

我对此感到很困惑,如果有人可以提供帮助,我将不胜感激。

编辑:

显然请求应该是这样的:

https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id=myClientID&nonce=someRandomStringIthink&scope=https://www.googleapis.com/auth/devstorage.full_control&redirect_uri=WHEREDOIGETTHIS

我仍然不知道在哪里可以找到重定向 URI。文档说它应该在开发人员的控制台中。

4

1 回答 1

0

您可以在此处查看 Google Auth 的示例。它涵盖了与 gcs 交互所需的一切。

于 2016-03-29T20:41:47.390 回答