みちのいに!!

自分のメモと、他にもハマる人がいそうなことを書く

GASでMastodonの投稿をTwitterに1分おきに同期する

2018-08-16追記: フォロワーのみ,Directは同期しないように変更 そのへんをいじりたい時は47行目あたりをいい感じに

目的

Mastodonの投稿を高頻度でTwitterに同期したい できれば無料で

おおまかな手順

  1. GASにプログラムをコピペする
  2. Twitterのアクセストークン,Mastodonのアクセストークンを取得する
  3. ライブラリを追加する
  4. 認証する
  5. トリガーを設定して1分おきに同期するようにする

手順

GASにプログラムをコピペする

  1. https://script.google.com/home
  2. 新規スクリプトを作成する
  3. コピペする

https://gist.github.com/m77so/1ac47c78d1c77b9b68b3eaf861549d74

  1. ファイル->プロジェクトのプロパティ からスクリプトIDをメモ

Twitterのアクセストークンの取得

  1. https://apps.twitter.com/
  2. CreateNewAppを押す
  3. フィールドを埋める
  4. callback URL は https://script.google.com/macros/d/<GASのスクリプトID>/usercallback
  5. Appを作成したら権限(Access Level)をRead, write以上にする
  6. Consumer Key (API Key)とConsumer Secret (API Secret) をメモ

Mastodonのアクセストークンの取得

  1. https://takahashim.github.io/mastodon-access-token/を使って取得する
  2. access_tokenをメモ

ライブラリを追加する

OAuth1TwitterWebService.gsを追加

  1. リソース->ライブラリの追加
  2. 1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7sを追加し最新版を選択
  3. 1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTFを追加し最新版を選択
  4. 保存

認証する

  1. ファイル->プロジェクトのプロパティ->スクリプトのプロパティ
  2. 行を追加し,アクセストークンを追加していく
  3. 関数を選択→authorize 実行(▷)
  4. いろいろ承認する
  5. 表示->ログに出力されたURLにアクセスし,いろいろ承認する
  6. 関数を選択→getCredential 実行

動作確認

  1. 関数を選択→syncMstdn2Twitter で動くかチェック

トリガーを設定する

  1. 編集->現在のプロジェクトのトリガー
  2. 新しいトリガー
    • syncMstdn2Twitter
    • 時間主導型
    • 分タイマー
    • 1分ごと 

おつかれさまでした