Twitter binding spec

Detailed documentation on the Twitter binding component

Component format

To setup Twitter binding create a component of type bindings.twitter. See this guide on how to create and apply a binding configuration.

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. spec:
  6. type: bindings.twitter
  7. version: v1
  8. metadata:
  9. - name: consumerKey
  10. value: "****" # twitter api consumer key, required
  11. - name: consumerSecret
  12. value: "****" # twitter api consumer secret, required
  13. - name: accessToken
  14. value: "****" # twitter api access token, required
  15. - name: accessSecret
  16. value: "****" # twitter api access secret, required

Warning

The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.

Spec metadata fields

FieldRequiredBinding supportDetailsExample
consumerKeyYInput/OutputTwitter API consumer key“conusmerkey”
consumerSecretYInput/OutputTwitter API consumer secret“conusmersecret”
accessTokenYInput/OutputTwitter API access token“accesstoken”
accessSecretYInput/OutputTwitter API access secret“accesssecret”

Binding support

This component supports both input and output binding interfaces.

This component supports output binding with the following operations:

  • get

Input binding

For input binding, where the query matching Tweets are streamed to the user service, the above component has to also include a query:

  1. - name: query
  2. value: "dapr" # your search query, required

Output binding

get

For output binding invocation the user code has to invoke the binding:

  1. POST http://localhost:3500/v1.0/bindings/twitter

Where the payload is:

  1. {
  2. "data": "",
  3. "metadata": {
  4. "query": "twitter-query",
  5. "lang": "optional-language-code",
  6. "result": "valid-result-type"
  7. },
  8. "operation": "get"
  9. }

The metadata parameters are:

  • query - any valid Twitter query (e.g. dapr or dapr AND serverless). See Twitter docs for more details on advanced query formats
  • lang - (optional, default: en) restricts result tweets to the given language using ISO 639-1 language code
  • result - (optional, default: recent) specifies tweet query result type. Valid values include:
    • mixed - both popular and real time results
    • recent - most recent results
    • popular - most popular results

You can see the example of the JSON data that Twitter binding returns here

Last modified July 27, 2022: Remove namespace element from component examples (#2647) (ff9de5c8)