Skip to content

Commit

Permalink
Source Twitter: certify to beta (airbytehq#23749)
Browse files Browse the repository at this point in the history
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
  • Loading branch information
grubberr authored and danielduckworth committed Mar 13, 2023
1 parent 0c8f8c8 commit 2c7cab5
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2004,7 +2004,7 @@
- name: Twitter
sourceDefinitionId: d7fd4f40-5e5a-4b8b-918f-a73077f8c131
dockerRepository: airbyte/source-twitter
dockerImageTag: 0.1.1
dockerImageTag: 0.1.2
documentationUrl: https://docs.airbyte.com/integrations/sources/twitter
icon: twitter.svg
sourceType: api
Expand Down
11 changes: 7 additions & 4 deletions airbyte-config/init/src/main/resources/seed/source_specs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15704,7 +15704,7 @@
supportsNormalization: false
supportsDBT: false
supported_destination_sync_modes: []
- dockerImage: "airbyte/source-twitter:0.1.1"
- dockerImage: "airbyte/source-twitter:0.1.2"
spec:
documentationUrl: "https://docs.airbyte.com/integrations/sources/twitter"
connectionSpecification:
Expand All @@ -15718,13 +15718,14 @@
properties:
api_key:
type: "string"
title: "API Key Token"
description: "API Key"
title: "Access Token"
description: "App only Bearer Token. See the <a href=\"https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens\"\
>docs</a> for more information on how to obtain this token."
airbyte_secret: true
order: 0
query:
type: "string"
title: "Twitter Search Query"
title: "Search Query"
description: "Query for matching Tweets. You can learn how to build this\
\ query by reading <a href=\"https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query\"\
> build a query guide </a>."
Expand All @@ -15734,12 +15735,14 @@
title: "Start Date"
description: "The start date for retrieving tweets cannot be more than 7\
\ days in the past."
format: "date-time"
order: 2
end_date:
type: "string"
title: "End Date"
description: "The end date for retrieving tweets must be a minimum of 10\
\ seconds prior to the request time."
format: "date-time"
order: 3
supportsNormalization: false
supportsDBT: false
Expand Down
2 changes: 1 addition & 1 deletion airbyte-integrations/connectors/source-twitter/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ COPY source_twitter ./source_twitter
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]

LABEL io.airbyte.version=0.1.1
LABEL io.airbyte.version=0.1.2
LABEL io.airbyte.name=airbyte/source-twitter
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ definitions:
authenticator:
type: "BearerAuthenticator"
header: "apikey"
api_token: "{{ config['api_key'] }}"
api_token: "{{ config.api_key }}"
request_parameters:
query: "{{ config['query'] }}"
tweet.fields: "author_id,conversation_id,created_at,in_reply_to_user_id,lang"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,24 @@ connectionSpecification:
properties:
api_key:
type: string
title: API Key Token
description: API Key
title: Access Token
description: App only Bearer Token. See the <a href="https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens">docs</a> for more information on how to obtain this token.
airbyte_secret: true
order: 0
query:
type: string
title: Twitter Search Query
title: Search Query
description: Query for matching Tweets. You can learn how to build this query by reading <a href="https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query"> build a query guide </a>.
order: 1
start_date:
type: string
title: Start Date
description: "The start date for retrieving tweets cannot be more than 7 days in the past."
format: date-time
order: 2
end_date:
type: string
title: End Date
description: "The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time."
format: date-time
order: 3
2 changes: 1 addition & 1 deletion connectors.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@
| **Trello** | <img alt="Trello icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/trello.svg" height="30" height="30"/> | Source | airbyte/source-trello:0.1.6 | alpha | [link](https://docs.airbyte.com/integrations/sources/trello) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-trello) | <small>`8da67652-004c-11ec-9a03-0242ac130003`</small> |
| **Twilio** | <img alt="Twilio icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/twilio.svg" height="30" height="30"/> | Source | airbyte/source-twilio:0.1.16 | generally_available | [link](https://docs.airbyte.com/integrations/sources/twilio) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-twilio) | <small>`b9dc6155-672e-42ea-b10d-9f1f1fb95ab1`</small> |
| **Twilio Taskrouter** | <img alt="Twilio Taskrouter icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/twilio.svg" height="30" height="30"/> | Source | airbyte/source-twilio-taskrouter:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/twilio-taskrouter) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-twilio-taskrouter) | <small>`2446953b-b794-429b-a9b3-c821ba992a48`</small> |
| **Twitter** | <img alt="Twitter icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/twitter.svg" height="30" height="30"/> | Source | airbyte/source-twitter:0.1.1 | alpha | [link](https://docs.airbyte.com/integrations/sources/twitter) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-twitter) | <small>`d7fd4f40-5e5a-4b8b-918f-a73077f8c131`</small> |
| **Twitter** | <img alt="Twitter icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/twitter.svg" height="30" height="30"/> | Source | airbyte/source-twitter:0.1.2 | alpha | [link](https://docs.airbyte.com/integrations/sources/twitter) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-twitter) | <small>`d7fd4f40-5e5a-4b8b-918f-a73077f8c131`</small> |
| **Tyntec SMS** | <img alt="Tyntec SMS icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/tyntec.svg" height="30" height="30"/> | Source | airbyte/source-tyntec-sms:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/tyntec-sms) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-tyntec-sms) | <small>`3c0c3cd1-b3e0-464a-9090-d3ceb5f92346`</small> |
| **Typeform** | <img alt="Typeform icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/typeform.svg" height="30" height="30"/> | Source | airbyte/source-typeform:0.1.11 | beta | [link](https://docs.airbyte.com/integrations/sources/typeform) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-typeform) | <small>`e7eff203-90bf-43e5-a240-19ea3056c474`</small> |
| **US Census** | <img alt="US Census icon" src="https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-config/init/src/main/resources/icons/uscensus.svg" height="30" height="30"/> | Source | airbyte/source-us-census:0.1.2 | alpha | [link](https://docs.airbyte.com/integrations/sources/us-census) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-us-census) | <small>`c4cfaeda-c757-489a-8aba-859fb08b6970`</small> |
Expand Down
54 changes: 28 additions & 26 deletions docs/integrations/sources/twitter.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,43 @@
# Twitter API
API Documentation link [here](https://developer.twitter.com/en/docs/twitter-api)
## Overview
# Twitter

The Twitter API source supports full refresh syncs
This page contains the setup guide and reference information for the Twitter source connector.

### Output schema
## Prerequisites

Below output stream is available from this source:
To set up the Twitter source connector, you'll need the [App only Bearer Token](https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens).

[recent_search_tweets](https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent).
## Set up the Twitter connector in Airbyte

1. [Log into your Airbyte Cloud](https://cloud.airbyte.com/workspaces) account or navigate to the Airbyte Open Source dashboard.
2. Click **Sources** and then click **+ New source**.
3. On the Set up the source page, select **Twitter** from the Source type dropdown.
4. Enter the name for the Twitter connector.
5. For **Access Token**, enter the [App only Bearer Token](https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens).
6. For **Search Query**, enter the query for matching Tweets. You can learn how to build this query by reading [build a query guide](https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query).
7. For **Start Date (Optional)**, enter the date in `YYYY-MM-DDTHH:mm:ssZ` format. The start date for retrieving tweets cannot be more than 7 days in the past.
8. For **End Date (Optional)**, enter the date in `YYYY-MM-DDTHH:mm:ssZ` format. The end date for retrieving tweets must be a minimum of 10 seconds prior to the request time.
9. Click **Set up source**.

### Features
## Supported sync modes

| Feature | Supported? |
|:------------------|:-----------|
| Full Refresh Sync | Yes |
| Incremental Sync | No |
The Twitter source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes):

### Performance considerations
* [Full Refresh - Overwrite](https://docs.airbyte.com/understanding-airbyte/glossary#full-refresh-sync)
* [Full Refresh - Append](https://docs.airbyte.com/understanding-airbyte/connections/full-refresh-append)
* [Incremental - Append](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append)

Rate limiting is mentioned in the API [docuemntation](https://developer.twitter.com/en/docs/twitter-api/rate-limits)

## Getting started
## Supported Streams

### Requirements
* [Tweets](https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent)

* Twitter API Key.
## Performance considerations

### Connect using `API Key`:

1. Generate an API Key as described [here](https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens).
2. Use the generated `API Key` in the Airbyte connection.
Rate limiting is mentioned in the API [docuemntation](https://developer.twitter.com/en/docs/twitter-api/rate-limits)

## Changelog

| Version | Date | Pull Request | Subject |
|:--------|:-----------|:---------------------------------------------------------|:------------------------------------------------|
| 0.1.1 | 2023-03-03 | [23661](https://github.com/airbytehq/airbyte/pull/23661) | Incremental added for the "tweets" stream |
| 0.1.0 | 2022-11-01 | [18883](https://github.com/airbytehq/airbyte/pull/18858) | 🎉 New Source: Twitter |
| Version | Date | Pull Request | Subject |
|:--------|:-----------|:---------------------------------------------------------|:--------------------------------------------------|
| 0.1.2 | 2023-03-06 | [23749](https://github.com/airbytehq/airbyte/pull/23749) | Spec and docs are improved for beta certification |
| 0.1.1 | 2023-03-03 | [23661](https://github.com/airbytehq/airbyte/pull/23661) | Incremental added for the "tweets" stream |
| 0.1.0 | 2022-11-01 | [18883](https://github.com/airbytehq/airbyte/pull/18858) | 🎉 New Source: Twitter |

0 comments on commit 2c7cab5

Please sign in to comment.