Tag Archives: temboo

[物聯網 分享教學 ]2017版Arduino Yun 自動發布 Facebook 個人動態 – 使用 Temboo

本文要告訴您如何使用 Temboo 網站,讓您的 Arduino Yun (或其他相容開發板) 可以自動或根據某些條件發布 Facebook 動態。

本文修改自2015版的[Temboo – Arduino yun 發佈 Facebook 個人動態]一文,因為 Temboo 與 Facebook 在相關認證上的作法皆有調整。

作者/攝影  曾吉弘
時間  3~4小時
成本Arduino Yun 開發板 = $2500 購買連結
難度  *
材料表 ❊個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)

Arduino IDE 1.0 版以上,可上傳程式到 Arduino yun 即可,本範例使用 1.6

Arduino Yun 開發板

 

Temboo 是一個好用的社群網路互動網站,您可利用 Temboo 的各種函式庫來上傳資料到 Google spreadsheet、發送 Gmail 以及上傳 webcam 照片到 Dropbox 等功能。Temboo 有免費也有付費的帳號。請參閱本團隊翻譯的[實戰物聯網開發:使用Arduino Yun] 這本書中有許多有趣的範例。

 

接著就一起來操作吧!

 

Temboo 端

1.請到 Temboo網站申請一個帳號,登入之後請點選畫面右上角您的帳戶名稱,於下拉式選單中點選 Applications,進入應用程式畫面。在此的 Application 是指一個用來與 Facebook 互動的外部程式,我們需要把他與後續建立的 Facebook app 兩者打通。

 

2.在Applications 頁面中,點選 New Application 建立一個應用程式,在此取名為 myFirstApp,完成之後會看到 KEY。

Facebook 端

3. 接著請到 Facebook 開發者網站,請用您原本的 Facebook 帳號登入即可。點選右上角的個人大頭照,於下拉式選單中找到[新增應用程式]。這是 Facebook 應用程式,不要和 temboo 應用程式搞混了!

新增完成之後,會看到應用程式編號與密鑰,這後續都要填在 Temboo 中。


4. 同一個頁面下,左側,設定 ➜ 新增平台 ➜ 網站 ➜ 填入這個網址https://xxx.temboolive.com/callback/    紅字xxx.為您的 temboo 帳戶名稱,完成如下(記得儲存變更)

又回到Temboo

5. 在Temboo 的 InitializeOAuth頁面填入 Facebook 應用程式 ID,scope欄位請填入 “publish_actions” 代表要發布個人動態。完成後點選 RUN,會在頁面下方產生一個認證網址,請點選它   

6. 這是 Facebook 詢問您,是否同意這個外部程式取得相關權限,您在玩一些 Facebook 小遊戲或是 [誰在暗戀你] 這種隨機算命程式時都會看到這個畫面。不過一般來說,通常我們也沒有特別注意就按確定了,沒錯吧?

有關各式權限的補充:https://developers.facebook.com/docs/facebook-login/permissions/

7. 在 Temboo FinalizeOAauth 頁面輸入Facebook 的AppID, AppSecret 與 CallbackID,Run ➜ 終於取得 accesss token

8.回到 Temboo Facebook setStatus 頁面發布個人狀態 ➜ Run。您也可以透過 sensor event 來決定要怎樣的條件下觸發這個動作,相關設定都會自動產生成一份 Arduino Yun 可執行的 code,上傳後執行就可以了

在此我在 Message 欄位輸入 「I love coding」這段文字,您也可以在程式碼中把感測器值組合成字串之後發送,調整的彈性很大。


 9. 回到您的 Facebook 個人首頁看看吧,成功了!

 

 

相關文章:

 

ArduinoYun使用Temboo上傳照片至Dropbox

ArduinoYun的相關範例在網路上越來越多人分享,想必大家常常遇到按照步驟與Temboo連線,但是Dropbox卻沒有任何回應。

首先可以來Activity的LOG來看Temboo是否有資料上傳的紀錄,紀錄內容有上傳資料的時間,還有上傳的裝置,如果用的是Yun的Linux系統,裝置會顯示PythonSDK,如果沒有任何上傳紀錄,代表你並沒有成功連線到Temboo網站,趕快看看Yun是不是有上網成功喔。

01

有沒有遇過Temboo傳過這樣的錯誤呢?也不知道為什麼?

01_2

這樣的問題除了在Dropbox之外也很容易發生,Temboo提供的一個功能是特別需要注意的,那就是oAuth服務,oAuth所做的是允許認證這項功能

1、允許用戶讓第三方應用存取該用戶在某一網站上儲存的私密的資源

2、無需將使用者名稱和密碼提供給第三方應用

這在ArduinoYun中非常重要,因為Yun很容易社群網站(比如google、FB、Dropbox)被當成機器人,即使你有這個網站的帳號與密碼也無法登入,只要使用oAuth通過這個網站的認證就能使用

02

要使用oAuth,在Temboo上一共有兩個功能要做(1)InitializeOAuth (2)FinalizeOAuth

我們以Dropbox為例,首先在Dropbox開發者網站創建APP,拿到這個Dropbox APP的appkey、appsecret

03

接著將這兩筆資料輸入到Temboo網站的Dropbox . OAuth . InitializeOAuth之中,你將會得到AuthorizationURL、callbackID、OAuthTokenSecret共三筆資料

04

接著將AuthorizationURL的連結打開,Dropbox的APP會詢問你是否願意讓這個Temboo網站存取,按允許即可

05

接著我們到Temboo網站的Dropbox . OAuth . FinalizeOAuth之中,接著輸入Dropbox的AppKey、AppSecret。還有在InitializeOAuth之中得到的callbackID、OAuthTokenSecret也要輸入進去。

06

最後我們會得到AccessToken、AccessTokenSecret共兩筆資料。這兩筆資料可以幫助我們在使用Temboo的Dropbox服務上暢行無阻,以ArduinoYun上傳照片到Dropbox為例,原本我們必須照著Dropbox . FilesAndMetadata . UploadFile的內容輸入資料才可以上傳照片,你也可以靠使用AccessToken、AccessTokenSecret這兩筆資料通過認證

下面是上傳照片到Dorpbox時,Temboo所準備的python程式碼,下面要輸入的yourAccessToken、yourTokenSecret就是剛剛得到的兩筆資料了,至於yourAppKey、yourAppSecret則是Dropbox開發者網站的的appkey、appsecret。

07

如果還有新收穫再來跟大家分享,下次再見囉