App Inventor 2 指令中文化 Twitter 推特

Twitter 推特

Twitter 元件可進行 Twitter 相關動作。

Twitter 元件為一非可視元件,它可讓使用者與 Twitter 進行通訊。主要方法有搜尋 Twitter(SearchTwitter)與登入(Authorize)。

一旦使用者登入成功且 IsAuthorized 事件也確認登入成功,您就可以使用以下方法:

• SetStatus:設定使用者本身狀態。

• DirectMessage:對指定使用者發送訊息。

• RequestDirectMessages:接收最新的訊息。

• Follower:追蹤指定使用者。

Twitter • StopFollowing:停止追蹤指定使用者。

• RequestFollowers:取得誰正在追蹤我這份清單。

• RequestFriendTimeline:取得追蹤使用者的最新消息。

• RequestMentions:取得有提到使用者的最新消息。

一般來說使用上述方法時,您都可以從對應的事件來取得結果。例如使用RequestFollowers 方法時,當追蹤者清單實際存在時就會呼叫 FollowersReceived 事件。

這個動作要用掉一點時間,因為資料發送接收都要透過網路。另外當您的裝置沒有連上網際網路或是 Tiwtter 網站掛掉時,這時可能無法收到任何結果。

如果您的 App Inventor 程式需要以合法使用者的身分進行 Twitter 相關操作,則第一件是要先使用 Authorize 方法。

這個方法會顯示 Twitter 登入頁面,使用者只要輸入正確的帳號密碼就可以了,接著會程式中的 Twitter 元件就會收到一個認證(credential)。

一旦 Twitter 元件收到這個認證之後就會呼叫 IsAuthorized 事件,這時應用程式就可以執行 Twitter 相關的操作了。

為一個不需要認證就能執行的Twitter元件下的方法就是SearchTwitter。一般來說,應用程式都會保留使用者的登入認證,所以使用者不需要每次都執行登入動作(除非使用
者自行登出了 Twitter)。

重新安裝這個應用程式將會使用 DeAuthorize 方法來清除認證。使用者之後可以從 Twitter 網站上的 Setting 頁面來取消對於應用程式的 Twitter 授權。

若要檢查您的應用程式是否已取得認證,請使用 CheckAuthorized 方法。
登入 Twitter 是透過 Twitter API( dev.twitter.com/pages/auth)所規定的 OAuth 協定來完成。

請注意:OAuth 協定絕大部分的動作都已經被隱藏在 Twitter 元件中,您不需要瞭解它
們也能夠順利使用 Twitter 元件。

但是,對於任何想要在應用程式中使用 Twitter 元件的開發者,都必須提供 Consumer key 與 Consumer secret 這兩項必要資訊。

您需要在 twitter.com/oauth_clients/new 頁面中註冊您的應用程式,註冊完成後就可以得到這兩筆資料(格式為字串),如此才能讓 Twitter 成功辨認您的應用程式是否有權限可以進行相關操作。

註冊頁中,您需要提供以下資訊:

Application name

您應用程式的名稱,名稱應為唯一(unique),當應用程式名稱並非唯一時系統會發出
警告。當應用程式使用者要求要登入Twitter時,系統會將這個名稱作為呼叫Authorize方
法的結果來回傳。

Description

您的應用程式的說明。

Application website

使用者可找到更多有關這個應用程式資訊或是下載本應用程式的網站(如果您有建置
這樣一個網站的話)。或者您可以填入其他有用的網站。

請注意本屬性為必填。

Twitter Application type 

本屬性必須設定為 Browser(瀏覽器)。

Callback URL

本屬性必須為一個有效的 URL,Twitter 元件會將其自動調整為適當的內容。

Default access type

請將本屬性設定為 read/write(讀 / 寫),代表應用程式可在 Tiwtter 中讀取或寫入資料。如果覺得累的話,其他欄位就可以不用填了。當您的應用程式時註冊成功時,您會在頁面上看到 Consumer key and Consumer secret 這兩個專屬於本應用程式的字串。

您可以將它們複製到應用程式中對應的 Twitter 元件屬性裡。如果您日後想更改這些設定,只要透過瀏覽器登入 Twitter 後,找到 twitter.com/apps 頁面來找到您所註冊的應用程式,就可以進行修改了。


屬性

TwitPic_API_Key
APIKey的圖片,由TwitPic所提供

Twitter.TwitPic_API_Key取得APIKey的圖片
Set Twitter.TwitPic_API_Key設定APIKey的圖片


ConsumerKey 
從twitter.com/oauth_clients/new所取得的ConsumerKey字串,用以確認應用程式的身分。

Twitter.ConsumerKey取得從twitter.com/oauth_clients/new所取得的ConsumerKey字串

Set Twitter.ConsumerKey設定從twitter.com/oauth_clients/new所取得的ConsumerKey字串


ConsumerSecret 
從twitter.com/oauth_clients/new所取得的ConsumerSecret字串,用以確認應用程式的身
分。

Twitter.ConsumerSecret取得從twitter.com/oauth_clients/new所取得的ConsumerSecret字串

Set Twitter.ConsumerSecret設定從twitter.com/oauth_clients/new所取得的ConsumerSecret字串


DirectMessages
Twitter.DirectMessages:使用者在 Twitter 上所接收到的訊息。


Followers
Twitter.Followers:追蹤者清單


FriendTimeline
Twitter.FriendTimeline:使用者的 Twitter 消息時間軸。


Mentions
Twitter.Mentions:有提到使用者的最新消息,以清單格式回傳。


SearchResults
Twitter.SearchResults:執行一次 Twitter 搜索後的結果。


Username
Twitter.Username:已授權的使用者名稱,如果回傳值為空代表沒有這一位使用者。



事件

DirectMessagesReceived(list messages)
when Twitter.DirectMessagesReceived:當所有藉由 RequestDirectMessages 方法所查詢的訊息都收到時,呼叫本事件。


Twitter FollowersReceived(list followers)
when Twitter.FollowersReceived:當所有藉由 RequestFollowers 方法所查詢的追蹤者名單都收到時,呼叫本事件。


FriendTimelineReceived(list user-messages-list) 
when Twitter.FriendTimelineReceived:當所有藉由 RequestFriendTimeline 方法所查詢的時間軸資訊都收到時,呼叫本事件。

回傳清單的每一個元素都是一個包含兩個元素的清單,其中第一個元素為追蹤者名稱
(username),第二個則是該使用者的狀態(status)。


IsAuthorized
when Twitter.IsAuthorized:當應用程式使用 Authorize 方法且成功登入時呼叫本事件。或者在登入之後使用CheckAuthorized 方法也會呼叫本事件。本事件成功呼叫後即可使用 Twitter 元件中的所有方法。


MentionsReceived(list mentions) 
when Twitter.MentionsReceived:當所有藉由 RequestMentions 方法所查詢之提到使用者最新消息(mention)時,呼叫本事件。


SearchSuccessful(list searchResults) 
when Twitter.SearchSuccessful:當 SearchTwitter 方法成功完成一次搜尋時,呼叫本事件。



方法

Tweet(text status)
Twitter.Tweet:特定的使用者傳送推文,如果超過160個字符將被修剪 。

說明 : 此方法只有在 IsAuthorized 觸發後才可以被呼叫,這代表使用者已經成功登錄到Twitter。 


TweetWithImage(text status, text ImagePath)
Twitter.TweetWithImage:特定的使用者傳送推文並附帶上傳給 TwitPic 的圖片網址,如果超過160個字符將被修剪 ,如果圖片沒有被找到或是無效的網址,則只有文字會被推文。

說明 : 此方法只有在 IsAuthorized 觸發後才可以被呼叫,這代表使用者已經成功登錄到Twitter。 

Authorize
Twitter.Authorize:本方法會顯示 Twitter 的登入頁面,使用者可由此登入。當使用者成功登入之後會呼叫 IsAuthorize 事件。


CheckAuthorized
Twitter.CheckAuthorized:回傳使用者是否已登入。如果已登入,也會呼叫 IsAuthorize 事件。


DeAuthorize
Twitter.DeAuthorize:讓使用者從應用程式中登出。使用者需要再次登入才能使用 Twitter 元件的方法,例如SearchTwitter 方法。


DirectMessage(Text user, Text message) 
Twitter.DirectMessage:對指定使用者 user 發送訊息 message。


Follow(Text user) 
Twitter.Follow:追蹤指定使用者 user。


RequestDirectMessages
Twitter.RequestDirectMessages:取得最新的訊息。


RequestFollower
Twitter.RequestFollower:取得指定使用者的追隨者清單。


RequestFriendTimeline
Twitter.RequestFriendTimeline:取得您在時間軸上最新的 20 則消息。

回傳清單的每一個元素都是一個包含兩個元素的清單,其中第一個元素為發佈者名稱(username),第二個則是消息內容(status message)。


RequestMentions
Twitter.RequestMentions:取得有提到使用者的消息。


SearchTwitter(Text query)
Twitter.SearchTwitter:將指定文字 query 在 Twitter 中進行一次搜索。


StopFollowing(Text user)
Twitter.StopFollowing:停止追蹤指定使用者 user。