[英]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?
先感謝您。 昆汀
在我看來,有兩種方法可以達到這個目的:
在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.