101a18b1e6
Signed-off-by: Alexis Pentori <alexis@status.im> |
||
---|---|---|
.. | ||
sample_files | ||
source_twitter_fetcher | ||
Dockerfile | ||
README.md | ||
main.py | ||
metadata.yaml | ||
requirements.txt | ||
setup.py |
README.md
Twitter Fetcher Source
This is the repository for fetching Twitter information, written in Python.
Todos
- Implements first version based on original script
- Fetch the Data users of each count.
- Fetch Tweets details
- Improve version:
- limit the data fetching based on input date
Usage
This connector fetch information from Twitter based on their API: https://developer.twitter.com/en/docs/twitter-api
Configuration
The connector takes the following input:
twitter:
credientials:
client_id: "Id from the Twitter Developer Account"
client_secret: "Secret from the Twitter Developer Account"
access_token: "Token generated from the generated Twitter account"
refresh_token: "Refresh token obtain from the Twitter Account"
account_id: "Id of the Twitter account"
start_time: 'AAAA-MM-DD" # Start of the period of tweets sync
To obtain the account_id
, run the following command:
curl -X GET "https://api.x.com/2/users/me" \
-H "Authorization: Bearer $access_token"
Output
The connector will return the following:
Local development
Prerequisites
Activate Virtual Environment and install dependencies
From this connector directory, create a virtual environment:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Locally running the connector
python main.py spec
python main.py check --config sample_files/config-example.json
python main.py discover --config sample_files/config-example.json
python main.py read --config sample_files/config-example.json --catalog sample_files/configured_catalog.json
Locally running the connector docker image
docker build -t airbyte/twitter-fetcher:dev .
# Running the spec command against your patched connector
docker run airbyte/twitter-fetcher:dev spec
Run
Then run any of the connector commands as follows:
docker run --rm airbyte/twitter-fetcher:dev spec
docker run --rm -v $(pwd)/sample_files:/sample_files airbyte/twitter-fetcher:dev check --config /sample_files/config-example.json
docker run --rm -v $(pwd)/sample_files:/sample_files airbyte/twitter-fetcher:dev discover --config /sample_files/config-example.json
docker run --rm -v $(pwd)/sample_files:/sample_files -v $(pwd)/sample_files:/sample_files airbyte/twitter-fetcher:dev read --config /sample_files/config-example.json --catalog /sample_files/configured_catalog.json