☑️ X2Scb: 自分のツイート・RTをScrapboxに自動的に転載する仕組みを作る
public.icon
templateで使えるようにした
https://gyazo.com/754e811cd2de53ad715da3afe89969f3
個別のrepoに合わせてurlなどが変更できる
次は、envの設定だな〜
github action側がrepoのenvを参照するので、それを追加しないといけない
一旦0xcommuneのgithubでtemplateとして使ってみる
repoの名前は同じにする: X2Scb
tampermonkey側の自動スクリプトはいけそう
あー、でもこのトリガー自体も、結局はrepoを指定するのかtkgshn.icon
https://gyazo.com/f8ede3884da4b9bd1dc554b296721a42
@inoue2002.icon
https://gyazo.com/dad0ccbd162798615e6194636d695def
☑️ inoue2002.icon's pagesに、自分のツイートをscrapbox表記で持つことができた inoue2002.icon
# 🚨 **現在の問題とその解決策について**
## 📋 **問題の概要**
### **なぜ動かないのか:CSP(Content Security Policy)制限**
現在のUserScriptは github.io からデータを取得しようとしていますが、ScrapboxのCSPによってブロックされています。
**エラー内容:**
`
because it violates the following Content Security Policy directive: "connect-src ..."
`
### **CSPとは?**
- Webページのセキュリティ機能
- 外部リソースへのアクセスを制限
- XSS攻撃などを防ぐため
- **サーバー側(Scrapbox)が設定するため、ユーザー側では変更不可能**
## ✅ **Scrapboxが許可しているドメイン**
CSPエラーメッセージから、Scrapboxが許可している接続先:
`
connect-src 'self'
i.gyazo.com
t.gyazo.com
wss://scrapbox.io
api.openai.com
*.openai.azure.com
maps.googleapis.com
bedrock.ap-northeast-1.amazonaws.com
bedrock-runtime.ap-northeast-1.amazonaws.com
bedrock-agent.ap-northeast-1.amazonaws.com
bedrock-agent-runtime.ap-northeast-1.amazonaws.com
www.google.com
`
**👆 https://storage.googleapis.com が許可されています!**
## 🔧 **解決策:Google Cloud Storage利用**
### **現状の流れ**
`
GitHub Actions → GitHub Pages → ❌ CSPブロック
`
### **推奨する新しい流れ**
`
GitHub Actions → Google Cloud Storage → ✅ 正常動作
`
### **実装方法**
1. **Google Cloud Storageバケットを作成**
2. **GitHub Actionsを修正**
- 既存の daily.yml はそのまま維持
- 新しく deploy-to-gcs.yml を追加(すでに作成済み)
3. **GitHub Secretsに追加**
`
GCP_SA_KEY: Google Cloud Serviceアカウントの認証キー
GCS_BUCKET_NAME: x2scb-data (デフォルト)
`
### **UserScriptの変更点**
現在のUserScriptは既に対応済みです:
- Google Cloud Storageを **最優先** で使用
- GitHub Pagesは **フォールバック** として残存
- 複数の代替手段を自動で試行
## 📊 **メリット**
1. **✅ CSP制限を回避** - Scrapboxが公式に許可
2. **✅ 確実な動作** - エラーが発生しない
3. **✅ 高速アクセス** - Google Cloud Storageは高性能
4. **✅ 既存コードの活用** - GitHub Actionsはそのまま使用可能
## 🚀 **次のステップ**
1. Google Cloud Storageのセットアップ
2. GitHub Secretsの設定
3. deploy-to-gcs.yml の有効化
これで **根本的に** CSP問題が解決され、安定してスクリプトが動作するようになります!
これはなんのためのツール?
1. TwitterのAPIを叩いて、自分のツイートを取得する
2. それらをRTと、ツイートで分けて、毎日自分のツイートを簡易的なWebページに転載する(Github Actionで実行中)
本当はこのページ内にあるはず
元々公開情報なのでこれを公開することには問題ないはず
3. tempermonekyで、自分の日付ページ(これは別のuser script)そのwebページの情報を取得してdaily pageに自分のツイート反映する機能が一応ある
tkgshn.iconのtwitter APIが制限に引っかかったので、誰か自分でAPIをbearerに設定してdebugしてくれることを頼みますtkgshn.icon*4
TwitterのAPIリクエストの制限が厳しくて全然回って ない
見ての通り全部失敗している
自分のツイート・RTをScrapboxに自動的に転載する仕組みを作る
これで以下のフローが生成できる
code:mermaid
graph TD