Twitter - Get direct messages

 

Declaration

<AMTWITTER ACTIVITY="get_directmessages" TYPE="text (options)" RESULTDATASET="text" SCREENNAME="text" ACCESSTOKEN="text" SECRETTOKEN="text" PROXYSERVER="text" PROXYPORT="text" PROXYUSERNAME="text" PROXYPASSWORD="text"><Parameter Name="since_id" Value="number" /><Parameter Name="max_id" Value="number" /><Parameter Name="count" Value="number" /><Parameter Name="page" Value="number" /></AMTWITTER>

Related Topics   

Description

Returns a list of the 20 most recent direct messages sent to or sent from the authenticating user and populates a dataset with the results.

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

Gets the newest Twitter messages sent to the specified user. Can optionally get the newest messages sent by the specified user.

Parameters

General Properties

Property

Type

Required

Default

Markup

Description

Type

Text (options)

Yes

Sent

TYPE="received"

The type of Twitter direct messages to retrieve. The following options are:

  • Sent - Direct messages sent by the authenticating user.

  • Received - Direct messages received by the authenticating user.

Create and populate dataset with status information

Text

Yes

(Empty)

RESULTDATASET="theDataset"

The name of the dataset to create and populate with specific information about the  messages 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 os 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 Properties

The Description tab allows you to customize the text description of any step as it appears in the Task Builder's Steps Pane.

More on setting custom step description

Error Causes Properties

The Error Causes tab allows you to select/omit specific errors that should cause a particular step to fail.

More on Error Causes properties

On Error Properties

The On Error tab allows you to determine what the task should do if a particular step encounters an error.

More about On Error properties

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

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

theDataset.ID

Number

The unique id for the user that wrote the status a status replies to. (Examples: 14597523)

theDataset.Recipient

Text

The display name of the user that sent a direct message. (Examples: tweetybird, dougw)

theDataset.Sender

Text

The display name of the user that sent a direct message. (Examples: tweetybird, dougw)

theDataset.Text

Text

Escaped and HTML encoded status body (Examples: I am eating oatmeal, The first tag is always <html>)

Parameters

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)

Example

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.

 

Description: Get direct messages of type "received".

 

<AMTWITTER ACTIVITY="get_directmessages" TYPE="received" RESULTDATASET="theDataset" SCREENNAME="BatmanandRobin" ACCESSTOKEN="138893066-pcQPBQlFnI8exepSZPaQcnljQJNg4tB6mUfGAywz" SECRETTOKEN="pL1IdTedxHU6JFd6HHRlkncy98R5PQLwKyrESGGM" />