すべてのツイートを検索します。
git clone https://github.com/you/mytweets
cd mytweets
このアプリケーションには次のトークンが必要です。
これらを.env
ファイルに置く必要があります。
cp .env.example .env
.env
ファイルに配置します S3_AWS_ACCESS_KEY_ID="x"
S3_AWS_SECRET_ACCESS_KEY="x"
S3_AWS_REGION="us-east-1"
S3_BUCKET_NAME="x"
TWITTER_APP_KEY="YOUR_TWITTER_API_KEY"
TWITTER_APP_SECRET="YOUR_TWITTER_API_KEY_SECRET"
TWITTER_ACCESS_TOKEN="YOUR_TWITTER_ACCESS_TOKEN"
TWITTER_ACCESS_SECRET="YOUR_TWITTER_ACCESS_TOKEN_SECRET"
権限ポリシーの例:
YOUR_S3_BUCKET_NAME
はステップ 1 のバケット名です。
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " mytweets " ,
"Effect" : " Allow " ,
"Action" : " s3:* " ,
"Resource" : " arn:aws:s3:::{your-mytweets-bucket-name}/* "
}
]
}
.env
ファイルに配置します。 S3_AWS_ACCESS_KEY_ID= " x "
S3_AWS_SECRET_ACCESS_KEY= " x "
S3_AWS_REGION= " us-east-1 "
S3_BUCKET_NAME= " x "
TWITTER_APP_KEY= " YOUR_TWITTER_API_KEY "
TWITTER_APP_SECRET= " YOUR_TWITTER_API_KEY_SECRET "
TWITTER_ACCESS_TOKEN= " YOUR_TWITTER_ACCESS_TOKEN "
TWITTER_ACCESS_SECRET= " YOUR_TWITTER_ACCESS_TOKEN_SECRET "
Bluesky の投稿を取得したい場合は、 yarn run fetch-tweets
の代わりに、 yarn run fetch-bsky
使用できます。
.env
に追加します。 S3_AWS_ACCESS_KEY_ID = "x"
S3_AWS_SECRET_ACCESS_KEY = "x"
S3_AWS_REGION = "us-east-1"
S3_BUCKET_NAME = "x"
BLUESKY_IDENTIFIER = "xxx.bsky.social"
BLUESKY_APPPASSWORD = "x"
yarn run fetch-tweets
の代わりに、 yarn run fetch-bsky
を使用します。twitter-*.zip
のような Twitter アーカイブ ファイルをダウンロードします。tweeet*.js
twitter-archives/
にコピーします twitter-archives/
├── tweet.js
├── tweet-part1.js
└── tweet-part2.js
yarn install
yarn import-twitter-archives # Concvert twitter-archives
yarn fetch-tweets # Fetch diffs via Twitter API
yarn upload-s3 # upload to S3
必須:
.env
ファイル内のTWITTER_*
およびS3_*
env
Twitter API を使用して Twitter アカウントから最新のツイートを取得します。
yarn fetch-tweets
コマンドはツイートを取得し、 tweets.json
にマージします。 yarn upload-s3
tweets.json
S3 バケットにアップロードします。
yarn install
yarn download-s3 # download tweets.json from S3
yarn fetch-tweets # Fetch diffs via Twitter API
yarn prefetch-bsky # Fetch diffs via Bluesky API
yarn upload-s3 # upload to S3
Vercel のような Web ホスティングに Web フロントエンドをデプロイできます。
web/
「ルートディレクトリ」に設定しますS3_AWS_ACCESS_KEY_ID
S3_AWS_SECRET_ACCESS_KEY
S3_BUCKET_NAME
NEXT_PUBLIC_AUTH_KEY=<secure random string>
NEXT_PUBLIC_AUTH_KEY
に設定する必要があります。"public"
をNEXT_PUBLIC_AUTH_KEY=public
に設定する必要があります。https://<yourmytweets>.vercel.app/?k=<NEXT_PUBLIC_AUTH_KEY>
のように Web サイトにアクセスできます。https://<yourmytweets>.vercel.app/?k=<NEXT_PUBLIC_AUTH_KEY>&q=<search keyword>&max=<max search count>
Web アプリは次の URL クエリをサポートしています。
?k=<Your Secret Key - same with NEXT_PUBLIC_AUTH_KEY>
&q=<search keyword>
&max=<max search count>
20
GitHub Action のような CI を使用して、 yarn fetch-tweets
とyarn upload-s3
自動化できます。
このテンプレート リポジトリには、 tweets.json
毎日更新する .github/workflows/update.yml が含まれています。
https://github.com/owner/mytweets/settings/secrets/actions
にアクセスします。S3_AWS_ACCESS_KEY_ID
S3_AWS_SECRET_ACCESS_KEY
S3_AWS_REGION
S3_BUCKET_NAME
TWITTER_APP_KEY
TWITTER_APP_SECRET
TWITTER_ACCESS_TOKEN
TWITTER_ACCESS_SECRET
BLUESKY_IDENTIFIER
BLUESKY_APPPASSWORD
これらの値は.env
と同じです。
リリースページを参照してください。
devDependency をインストールし、 npm test
を実行します。
npm test
プルリクエストやスターはいつでも大歓迎です。
バグや機能リクエストについては、問題を作成してください。
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT © あず