物聯網裝置連線社群網站_使用Temboo取得Google的OAuth認證

今天要跟大家分享一個TemBoo取得google認證的功能,取得認證能做什麼呢?這意味著你的裝置可以取得平常google服務的權限,這個Temboo的網站可以將物聯網裝置取得認證這件事變得比較容易。

1、首先要到Temboo的官方網站申請帳號

2、取得Temboo帳號之後,接著登入Google的開發者網站,有申請Google帳號的使用者,用原本的帳號就可以登入了

3、接著建立一個新的專案。

01

4. 接著點畫面左邊的「API和驗證→API」找到Google Drive API並且啟用API,(畫面顯示停用,代表API已經啟用了)

02

03

 

5.點畫面左欄「API和驗證→憑證」在OAuth選向下點「建立新的用戶端ID」,應用程式類型選「網路應用程式」後,點「設定同意畫面」,並且在「同意畫面」中寫上Email和產品名稱(其他為選填)

 

04

6.畫面跳出「建立用戶端ID」,在下面的「授權的重新導向URL」填寫Google要連線的Temboo網址

https://ACCOUNT_NAME.temboolive.com/callback/google

ACCOUNT_NAME 需要填寫自己的Temboo的帳號

05

 

7、設定結束後,我們會得到「用戶端ID」、「用戶端密碼」,這兩個資訊我們在接下來會一直使用

06

 

8、接著到Temboo網站,設定Temboo與GoogleAPI間的認證OAuth,進行 Initialize OAuth  ,

在「Client ID 」填上上一步得到的「用戶端ID」

在「Scope」 填上 https://spreadsheets.google.com/feeds/ (適用於使用GoogleDoc的服務)

填寫完成後點「Run」

07

 

8.點選到 AuthorizationURL下方的網址,Google會詢問你是否給予權限,同意後出現空白畫面就代表成功了。

9、接著記下「Callback  ID 」的內容。

08

 

 

09

9.下一步則是到Temboo的 FinalizeOAuth進行最後的設定

分別填寫 「用戶端ID」、「用戶端密碼」、及上一步得到的「CallbackID」

點選「RUN」

10、取得最後產生的RefreshToken。

10

11、只要有「Client ID」、「Client Secret」、「Client ID」、「Refresh Token」,便可以透過Temboo的網站,對Google的內容進行編輯,下方分享的圖案是針對GoogleDoc服務的試算表,填寫試算表的內容。

20

 

12、也可以透過Temboo生成的程式碼,將這個功能加入到可以上網的裝置arduinoYun當中。

21

執行Arduino Yun之後,在序列監視器看到上傳成功的畫面,就把裝置上傳資料的時間、環境溫度、環境濕度填寫在GoogleDoc的試算表當中。

22

23

 

今天分享到這裡,有興趣可以再看看相關的物聯網文章~

34 Comments on 物聯網裝置連線社群網站_使用Temboo取得Google的OAuth認證

  1. 老師您好,我遇到這個問題
    Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
    Error
    A Step Error has occurred: “An input error has occurred. RowData and SpreadsheetTitle are required.”. The error occurred in the Stop (Missing request parameters) step.
    HTTP_CODE
    500

    該如何能夠做解決呢?

  2. 老師學生想詢問,”表單名稱與欄位名稱”是否指的是google dos的excel表單中的英文與程式上”data = data + timeString + “,” + String(temperature) + “,” + String(temperature) + “,” + String(temperature);”的對應呢?(抬頭大小寫是否會影響呢?)

  3. 老師您好,想請問 您是用 wifi 還是 usb連線 將程式上傳
    程式碼 我們照著 實戰物聯網開發 書上的程式碼
    表格那邊的失敗 監控視窗 連接不成功 照樣測試 結果
    我們之後抓 範例 來設置 將 帳號 密碼那些資料改成自己的
    也是連接不成功

    • 上傳程式的方式無所謂,只要上傳成功就好。請務必按照本文的做法完成 Google Oauth,或者您需要回到 gmail 去檢查有沒有收到 Google 的通知信,詢問是否同意由外部裝置來取得您的 Google 服務(Google drive & mail)。

  4. 老師,請問你說在序列監視器看到上傳成功的畫面,所以程式是要透過USB傳到YUN板嗎?
    還有YUN的WIFI是只能將接收到的資料傳到雲端嗎?還是也能透過WIFI傳程式?

    • 上傳成功是在 Arduino IDE 下方看到 “Done uploading” 或 “上傳完畢”的字樣,不是 serial monitor。Yun 當然可以經由 WiFi 燒錄程式,在 Arduino IDE 中的 Boards 選單中應該會看到 Arduino Yun (x.x.x.x) 代表有偵測到一個網路上的 yun。

  5. 請問 設定AppendRow 的 RowData 是要輸入 time,temperature,humidity,lightLevel 這個嗎?
    因為我們輸入後 google試算表也是出現這個

    程式部分編譯沒問題,燒入後,在監視視窗中出現
    Setup complete. Waiting for sensor input…

    Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
    Error
    curl: (6) Couldn’t resolve host ‘arduino123456.temboolive.com’
    HTTP_CODE
    000

    方便寄完整的程式碼到我的信箱嗎?

  6. 老師您好,請問第12項 Temboo生成的程式碼,如果沒有加到程式裡可以正常動作嗎?

    還有AppendRow那 右上角以一塊Arduino 有很多腳位,那腳位8跟A0要做設定嗎?

    • 一定要加啊,就是它幫你搞定與社群網路連接的很多事情。腳位可以不用設定,設定的意思是說,您可以指定當某腳位狀態怎樣的時候( EX: A0 > 800) 就發送資料到 Google docs

  7. 老師請問方便給我您的信箱嗎 我私下詢問您一些問題

  8. 老師請問
    在temboo設定是照上面操作,Arduino也照上面改程式了
    而在Arduino的序列監視器顯示
    (
    Setup complete. Waiting for sensor input…

    Calling the /Library/Google/Spreadsheets/AppendRow Choreo…
    Error
    curl: (6) Couldn’t resolve host ‘arduino123456.temboolive.com’
    HTTP_CODE
    000
    )
    我是位學生
    我的老師要一個成果
    沒成果就要被當
    急求解決問題?

  9. 請問濕度與光度的單位是什?

  10. 老師您好
    學生有一個問題想問
    如何向老師您上面範例一樣,取得時間並傳送呢?

    程式碼是否可以借閱一下呢?
    感謝

  11. 請問老師如果我使用UNO來執行這個程式碼而不是用YUN的話可以上傳嗎?

  12. 請問老師,以下的錯誤碼是哪個環節出錯了??
    A Step Error has occurred: “A Google authentication error has occurred.
    Authenticating with Username and Password is no longer supported by Google.
    We strongly recommend updating your code so that your app authenticates via OAuth.

  13. 改寫如下,請参考
    Arduino Yun使用Temboo云端服務自动通过Google認証:將溫溼度測值日誌寫到Google試算表
    http://lct4246.blogspot.tw/2016/04/arduino-yuntemboogoogle-google-ted-lee.html

    Ted Lee
    URL:https://sites.google.com/site/lct4246/
    FB:https://www.facebook.com/ted.lee.10420321
    Blog:http://lct4246.blogspot.tw/

  14. 您好,我把程式上傳後,serial monitor出現
    Error
    A Step Error has occurred: “An input error has occurred. RowData and SpreadsheetTitle are required.”. The error occurred in the Stop (Missing request parameters) step.
    HTTP_CODE
    500
    我的表單欄位名稱和程式裡的也一致了,請問可能還有什麼問題?

  15. 您好!我建好憑證後執行專案,在監控視窗裡出現錯誤訊息Missing Choreo ID,請問要如何處理。

    • Choreo ID 是Temboo端的東西,請檢查Temboo.h 中有沒有漏填資料

    • 您好~ 我確定是沒有漏填的。現在錯誤訊息又變成( A Step Error has occurred: “A Google authentication error has occurred. Authenticat.ing with Username and Password is no longer supported by Google. We strongly recommend updating your code so that your app authenticates via OAuth. You can find detailed instructions for using OAuth credentials here: https://temboo.com/library/Library/Google/Spreadsheets/.”. The error occurred in the LaunchChoreo (RetrieveSpreadsheetDetailsByName) step ) 我將callbackID等等重新做一遍後還是一樣…. 請問大大方便提供你們工作地點嗎?我可以去找你們現場幫小弟我看看嗎?

  16. 這裡有我寫的step by step手冊
    是在CAVEDU上Arduino Yun寫的
    堪稱詳細
    FYI

    http://lct4246.blogspot.tw/2016/04/arduino-yuntemboogoogle-ted-lee-cavedu.html

    Ted Lee
    URL(Google keyword no 1:Ted’s Bu Bu):https://sites.google.com/site/lct4246/
    FB(Google keyword no 1:Ted’s BuBu):https://www.facebook.com/ted.lee.10420321
    Blog(Google keyword no 1:泰布布):http://lct4246.blogspot.tw/

1 Trackbacks & Pingbacks

  1. Arduino Yún獨立運作的問題 – nmlab

Leave a comment

Your email address will not be published.


*