2013-10-31 27 views
1

我使用roo庫以Google Spreadsheet作爲各種數據庫運行某種程序。應該/我可以使用Google Spreadsheets API的訪問令牌而不是用戶名/密碼嗎?

它僅供我使用,但如果有其他人想要嘗試使用它,他們需要使用他們的Google帳戶(用戶名和密碼)登錄。在把簡單的gets功能,我所知道的人可能會猶豫要做到這一點,並在登錄時我注意到訪問令牌的響應,可用於代替:

oo = Roo::Google.new(sheetkey, user: GOOGLE_MAIL, password: G> => 
#<Roo::Google:0x3429798 @filename="**the Google spreadsheet key**", 
@user="[email protected]\n", @password="*SECRET!*\n", @access_token=nil , 
... 

難道我/我應該使用一個訪問令牌在這種情況下?我之前沒有用API做過什麼,但之前已經制作了Google地圖的地圖,我認爲它使用訪問令牌來允許對API進行更多的調用......這是否會簡化我的問題或讓我獲得棒的錯誤結局?

會給出一個訪問令牌讓人進入我的帳戶,即有我的權限在Google Drive(顯然不是我想要的)?

我已將相關文檔設置爲公開,它說「不需要登錄即可查看」,但我知道這可能不適用於訪問該API的程序。

回答

1

訪問令牌:是的,如果您希望其他人能夠使用代碼訪問電子表格,則可以爲他們提供訪問令牌。這意味着他們只能訪問您的電子表格(訪問權限在範圍中定義)。

我假設你的計劃是公開代碼

問題:

A)您需要同時訪問令牌和刷新令牌,作爲訪問令牌很快到期,1小時(不知道以後可能)。 B)我會創建第二個Google帳戶,這樣他們就無法訪問您的所有電子表格。

示例OAuth代碼:查看DrEdit中的一些使用訪問令牌的示例代碼。

注:谷歌 - 應用程序 - 腳本可能是另一種選擇,簡單的比谷歌電子表格的API使用

+0

[這是在Github上(https://github.com/lmmx/watir-paper-scanner/ blob/master/bookworm.rb)所以是公開的,抱歉應該說。我沒有使用google-spreadsheet-api gem,據我所知,google_drive實際上,只是將它標記爲,因爲它使用Google Spreadsheets&api ...感謝指針!第二谷歌帳戶是一個好主意,即使有點混亂,我已經有一個雖然通過一個替代的電子郵件地址,所以我想這不是一個問題 –

+1

我懷疑roo確實使用谷歌電子表格-API/gdata,沒有其他的API AFAIN那樣工作。 – eddyparkinson

相關問題