簡體   English   中英

如何在Heroku上配置Google Drive API?

[英]How to config Google Drive API on Heroku?

我是Ruby on Rails的新手開發人員。

我創建了一個帶有表單的登錄頁面。 此表單與帶有Google Drive API的Google表格文檔相關。 我在本地配置沒有問題。 我生成了一個config.json文件,一切正常。

問題出在Heroku的生產中。 我已經使用config.json文件配置了Heroku,如下所示:

heroku config:add CONFIG_JSON='{ 
  "client_id": "xXxxxXXx",
  "client_secret": "xXxxxXXx",
  "scope": [
    "https://www.googleapis.com/auth/drive",
    "https://spreadsheets.google.com/feeds/"
  ],
  "refresh_token": "1/mUqALEa6lGi6ulkWdBTJSFeygauofgN-DhWaat8Crec"
}'

但似乎有一個額外的步驟要做,因為我得到一個錯誤,如下面的Heroku日志所示:

2019-05-19T15:16:26.511306+00:00 app[web.1]: I, [2019-05-19T15:16:26.511173 #4]  INFO -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21]   Parameters: {"utf8"=>"✓", "authenticity_token"=>"iURPH06q8l6VrV9KOt9BLchtSB4S09TYKvf0SuQ8ydUnyBFZUwyRwe3R7+sWcpI9rXg1SyS0O1W65wDlDA+cgg==", "email"=>"prevostq@gmail.com", "commit"=>"Je m'inscris"}
2019-05-19T15:16:26.518244+00:00 app[web.1]: bin/rails: No such file or directory - gcloud
2019-05-19T15:16:26.559099+00:00 app[web.1]: 
2019-05-19T15:16:26.559103+00:00 app[web.1]: 1. Open this page:
2019-05-19T15:16:26.559106+00:00 app[web.1]: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=452925651630-egr1f18o96acjjvphpbbd1qlsevkho1d.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/drive%20https://spreadsheets.google.com/feeds/
2019-05-19T15:16:26.559108+00:00 app[web.1]: 
2019-05-19T15:16:26.566902+00:00 app[web.1]: 2. Enter the authorization code shown in the page: I, [2019-05-19T15:16:26.566552 #4]  INFO -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21] Completed 500 Internal Server Error in 55ms
2019-05-19T15:16:26.569268+00:00 app[web.1]: F, [2019-05-19T15:16:26.569184 #4] FATAL -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21]   
2019-05-19T15:16:26.569784+00:00 app[web.1]: F, [2019-05-19T15:16:26.569713 #4] FATAL -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21] NoMethodError (undefined method `chomp' for nil:NilClass):
2019-05-19T15:16:26.569877+00:00 app[web.1]: F, [2019-05-19T15:16:26.569813 #4] FATAL -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21]   
2019-05-19T15:16:26.569981+00:00 app[web.1]: F, [2019-05-19T15:16:26.569910 #4] FATAL -- : [6b76c96c-c2ac-406b-9f5e-b11db7e7fd21] app/controllers/landing_page_controller.rb:5:in `create'

任何人都知道如何配置Heroku?

先感謝您。 昆汀

在我看來,有兩種方法可以達到這個目的:

  1. 在heroku config var中使用私鑰:為了與sheet / drive api進行通信,google為我們提供了關鍵字GOOGLE_PRIVATE_KEY,用於驗證請求,因此可以在env變量中使用

    2.還有另一種方法,我們可以在配置中指向一個json文件,例如

    heroku config:設置GOOGLE_SETTING =“$(cat settings.json)”

我沒有用過這種方式,但如果它對你有效,你可以嘗試一下。

在寫這個答案時,我想到的一個選項是你可以在json文件中使用你的配置

'{ 
  "client_id": "XXX",
  "client_secret": "XXX",
  "scope": [
    "https://www.googleapis.com/auth/drive",
    "https://spreadsheets.google.com/feeds/"
  ],
  "refresh_token": "XXX"
}'

在配置而不是json文件中保留所有“XXX”。

請盡量嘗試所有可能性,並確認這是否可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM