Twitter - Get timeline

 

Declaration

<AMTWITTER ACTIVITY="get_timeline" TYPE="text (options)" RESULTDATASET="text" SCREENNAME="text" ACCESSTOKEN="text" SECRETTOKEN="text" PROXYSERVER="text" PROXYPORT="number" PROXYUSERNAME="text" PROXYPASSWORD="text" />

Related Topics   

Description

Returns the 20 most recent statuses of the specified type and populates a dataset with the results. A timeline is a Twitter term used to describe a collected stream of Tweets listed in real-time order. Timeline types include Friends, Home, Public or User timelines.

IMPORTANT: Automate's Twitter activities are performed using the Twitter REST API, therefore, launching and managing Twitter through Automate requires a valid Twitter account.

Practical Usage

See Description.

Parameters

General Properties

Property

Type

Required

Default

Markup

Description

Type

Text (options)

No

Friends

TYPE="public"

The type of timeline in which to retrieve. The available options are:

  • Friends (default) - Returns the 20 most recent statuses posted by the authenticating user. The timeline returned is the equivalent of the one seen when you view a user's profile on twitter.com.

  • Public - Returns the 20 most recent statuses, including retweets if they exist, from non-protected users.

  • Home - Returns the 20 most recent statuses, including retweets if they exist, posted by the authenticating user and the users they follow. This is the same timeline seen by a user when they login to twitter.com.

  • User - Returns the 20 most recent statuses posted by the authenticating user.

Create and populate dataset with user information

Text

No

(Empty)

RESULTDATASET="theDataset"

The name of the dataset to create and populate with specific information about the timeline that should be retrieved. More on the dataset that this activity creates can be found under Notes below.  

Authentication Properties

Property

Type

Required

Default

Markup

Description

Default Keys

 

 

 

 

If enabled, specifies that the default consumer/secret key combination used to authorize Automate access to Twitter API will be used. This also determines the text status that appears by way of Twitter application. Selecting this option would show Automate as the default application used to perform status updates. This is a visual mode parameter used only during design time, therefore, contains no markup. If this parameter is enabled, the Custom Keys parameter is ignored. It is enabled by default.

Custom Keys

 

 

 

 

If enabled, specifies that a custom consumer/secret key combination should be entered. This also determines the text status that appears by way of Twitter application. Selecting this option would show the specified application name as the one used to perform status updates. This is a visual mode parameter used only during design time, therefore, contains no markup. If this parameter is enabled, the Default Keys parameter is ignored.

Consumer Key

Text

No

(Empty)

CONSUMERKEY="text"

The consumer key to authenticate with. To use the Twitter API, each client application you register will be provisioned a consumer key and secret. This parameter is available only if the Custom Keys parameter is enabled. More information about OAuth authentication can be found below under Notes.  

Consumer Secret

Text

No

(Empty)

CONSUMERSECRET="encrypted"

The consumer key secret to authenticate with. To use the Twitter API, each client application you register will be provisioned a consumer key and secret. This parameter is available only if the Custom Keys parameter is enabled. More information about OAuth authentication can be found below under Notes.

Get PIN

 

 

 

 

You must initially register Automate (or the desired application) to allow it to use the Twitter API. If you have not done so already, click the Get Pin button. This will open your Twitter account site. Follow the instructions and copy the provided pin. Thereafter, return to the Automate Twitter authentication properties dialog and paste it in the Pin text box. Click the Authenticate Pin button to produce a consumer key and secret, thus, completing the token exchange. This is a visual mode parameter used only during design time, therefore, contains no markup.

NOTE: This is a one-time process. Once authenticated, the information will be stored on your system. More information about OAuth authentication can be found below under Notes.    

Pin

 

 

 

 

The pin in which to authorize Automate to allow it to use the Twitter API. This is a visual mode parameter used only during design time, therefore, contains no markup.

Authenticate Pin

 

 

 

 

Click this button to authenticate the provided PIN. This is a visual mode parameter used only during design time, therefore, contains no markup.  

NOTE: This is a one-time process. Once authenticated, the information will be stored on your system.

Screen Name

Text

Yes

(Empty)

SCREENNAME="Catwoman"

The screen name of the authenticating user. This is a visual mode parameter used only during design time, therefore, contains no markup.

Enable SSL

Yes/No

No

(Empty)

ENABLESSL="yes"

If selected, SSL is enabled. This parameter is disabled by default.

Access Token

Text

No

(Empty)

SECRETTOKEN=

"pL1IdTedxHU6JFd6HHRlknM"

The Oauth Access Token. This allows OAuth applications to directly exchange Twitter user names and passwords for OAuth access tokens and secrets. More information can be found below under Notes.  

Access Token Secret

Text

No

(Empty)

SECRETTOKEN="text"

The Oauth Token Secret. This allows OAuth applications to directly exchange Twitter user names and passwords for OAuth access tokens and secrets. More information can be found below under Notes.  

Parameters Properties

This activity allows you to set name/value parameters to filter results. The parameter names that this activity allows are listed below under Notes.

Property

Type

Required

Default

Markup

Description

Name

Text

No

(Empty)

a)Name="page"

The parameter name.

Value

Number

No

(Empty)

a)Value="3"

The value.

Proxy Properties

NOTE: Only HTTP proxy is supported.

Property

Type

Required

Default

Markup

Description

Proxy Host

Text

No

(Empty)

PROXYSERVER="host.domain.com"

The host name (i.e. server.domain.com) or IP address  (i.e. xxx.xxx.xxx.xxx) of the proxy server.

Proxy Port

Number

No

(Empty)

PROXYPORT="300"

The port that should be used to connect.

Proxy Username

Text

No

(Empty)

PROXYUSERNAME="user"

The user name that should be used to authenticate when connecting through the proxy server.

Proxy Password

Text

No

(Empty)

PROXYPASSWORD="encrypted"

The password that should be used to authenticate when connecting through the proxy server.

 

Description

Error Causes

On Error

Notes

OAuth Consumer Key/Secret Authentication

To use the Twitter API, the first thing you have to do is register a client application. Each client application you register will be provisioned a consumer key and secret. This key and secret scheme is similar to the public and private keys used in protocols such as ssh for those who are familiar. This key and secret will be used, in conjunction with an OAuth library in your programming language of choice, to sign every request you make to the API. It is through this signing process that Twitter trusts that the traffic that identifies itself is in fact you.

OAuth authentication is the process in which Users grant access to their Protected Resources without sharing their credentials with the Consumer. OAuth uses Tokens generated by the Service Provider instead of the User’s credentials in Protected Resources requests. The process uses two Token types:

Request Token:

Used by the Consumer to ask the User to authorize access to the Protected Resources. The User-authorized Request Token is exchanged for an Access Token, MUST only be used once, and MUST NOT be used for any other purpose. It is RECOMMENDED that Request Tokens have a limited lifetime.

Access Token:

Used by the Consumer to access the Protected Resources on behalf of the User. Access Tokens MAY limit access to certain Protected Resources, and MAY have a limited lifetime. Service Providers SHOULD allow Users to revoke Access Tokens. Only the Access Token SHALL be used to access the Protect Resources.

OAuth Authentication is done in three steps:

  1. The Consumer obtains an unauthorized Request Token.

  2. The User authorizes the Request Token.

  3. The Consumer exchanges the Request Token for an Access Token.

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields. The table below describes these fields (assuming the dataset name assigned was theDataset).

Name

Type

Return Value

theDataset.Created

Date

Coordinated Universal Time (UTC) timestamp of element creation, either status or user. (Example: Sat Jan 24 22:14:29 +0000 2009)

theDataset.ID

Number

The user's unique ID.

theDataset.InReplyToStatusID

Number

The unique ID for the status a status replies to. (Examples: empty, 1047468972)

theDataset.InReplyToUserID

Number

A unique ID for the user that wrote the status a status replies to.

theDataset.InReplyToScreenName

Text

The name for the user that wrote the status a status replies to.

theDataset.IsFavorited

True/False

Boolean indicating if a status has been marked as a favorite by the authenticating user.

theDataset.IsTruncated

True/False

Boolean indicating if a status required shortening.

theDataset.Source

Number

Application that sent a status. (Examples: web (Default), <a href="http://www.tweetdeck.com/">TweetDeck</a>)

theDataset.RetweetedStatus

Number

The total number of status updates performed by a user, excluding direct messages sent.

theDataset.Text

Text

Escaped and HTML encoded status body.

theDataset.TwitterUser

Text

Full name of a registered user (Examples: Tweety Bird, Doug Williams)

Parameters (Friends & Home Timeline)

Name

Type

Description

since_id

Number

The since_id passed in with a search query. (Example: 1480307926)

max_id

Number

The maximum status_id in a search result set. (Examples: 1047468972)

count

Number

The total amount of statuses to retrieve. (Example: count=5)

page

Number

The page number of a search result set (Example: 1)

Parameters (User Timeline)

Name

Type

Description

user_id

Number

A unique number Twitter assigns to a profile.

screen_name

Text

The screen name of the user. (Examples: tweetybird, dougw)

since_id

Number

The since_id passed in with a search query. (Example: 1480307926)

max_id

Number

The maximum status_id in a search result set. (Examples: 1047468972)

count

Number

The total amount of statuses to retrieve. (Example: count=5)

page

Number

The page number of a search result set (Example: 1)

Variables and Expressions

All text fields allow the use of expressions, which can be entered by surrounding the expression in percentage signs (Example: %myVariable% or %Left('Text',2)%). To help construct these expressions, you can open Expression Builder from these fields by clicking theInsert expression/variablebutton or pressingF2.

More on variables
More on expressions

More on the Expression Builder

Examples

NOTE:
  • The sample AML code below can be copied and pasted directly into the Steps Panel of the Task Builder.
  • Parameters containing user credentials, files, file paths, and/or other information specific to the task must be customized before the sample code can run successfully.

Example 1

A simple step that gets the timeline of type "user" and stores status information into Automate dataset named "theDataset."

Copy
<AMTWITTER ACTIVITY="get_timeline" TYPE="user" RESULTDATASET="theDataset" SCREENNAME="ronneylovely" ACCESSTOKEN="133348295-PORXRI8G89z6oQBklBYE8JN98VffugsPPAsnEKtw" SECRETTOKEN="BtemBbytOZERrkUBYFagHV1e5jju1APQ5cMo1GZMU" />

Example 2

Get timeline of type "public". Store status information into Automate dataset named "theDataset". Loop through the dataset named "theDataset" . Dataset is sorted in ascending alphabetical order on the "TwitterUser" column. Within each iteration, display the following information:

  • Twitter User Name

  • User Creation Date

  • User ID  

Copy
<AMTWITTER ACTIVITY="get_timeline" TYPE="public" RESULTDATASET="theDataset" SCREENNAME="ronneylovely" ACCESSTOKEN="133348295-Eg6hurc2YWpqdZrgbzsoXpWoQtT5D0vSn3UnhpME" SECRETTOKEN="lqNo7BuRHBeDfWAvSTsZg4B3UqQGXNAN9hynYCC5M" />
<AMLOOP ACTIVITY="dataset" DATASET="theDataset" />
<AMSHOWDIALOG>Twitter User Name = %theDataset.TwitterUser%User Creation Date = %theDataset.Created%User ID = %theDataset.ID%</AMSHOWDIALOG>
<AMLOOP ACTIVITY="end" />