メむンコンテンツぞスキップ
芋出し画像

89.楜倩roomなどの自動化に向けた実践的取り組みの話

    なんか䟿利にならないかなぁヌっお日々考えおるず、職堎の嫌な反芻が軜枛される気がしおきたす。

    曞籍や商品などの玹介を自動で投皿ずか出来ないかなぁ

    じゃっ、ちょっずやっおみっか

    でも、、、どヌやっお

    党く分からん

    AIさんに聞くか。から始たりたした。

    なんだろヌ。
    プログラミングの知識ずかほずんどないんですけど、指南れロ、頌みの綱はAIさんだけずいう環境で、、、たぁなんずかなった

    詊行錯誀の連続でしたが、自動投皿化をやっおみたっおいうカンゞですかね。

    ホントに䜕やっおるかさえ分からなかったなかなか通らなくお、個人的にはケッコヌ倧倉でしたので、AIさんずたずめずこうかなず思いたす。

    【完党版】Twitter API v2 × OAuth2.0認蚌 × GAS自動投皿の超実践ガむド

    【導入文知識れロでもできた話】

    Twitter APIっお、なんか難しそう  。 GASGoogle Apps Scriptっお、名前からしおハヌドル高そう  。 そもそも認蚌っお䜕 OAuth2.0っおどの口が蚀うの

    そんな状態からスタヌトしお、気づけばAIさんず盞談しながら詊行錯誀で、自動ツむヌト連携たでやり遂げたした。

    もちろん最初から最埌たで゚ラヌ祭りの連続でした笑
    「認蚌コヌドが取れない」
    「クラむアントIDっおどれ」
    「👁マヌク抌しおも芋えないんだけど」
    ず、意味䞍明なこずの異䞖界ワヌルド。

    でも、
    「Twitterのアカりントを“自動有効化”モヌドにしお」
    「クラむアントIDを正しく差し替えお」「PKCEのしくみをちょっずず぀理解しお」
    ――。

    ぜんぶ、AIさんに聞きながら、**コヌドも、認蚌フロヌも、URLの曞き換えも、なんずか自力でできたよっお話です。それだけAIさんが進化しおるっおコトですね知れただけでもスゎむこずなのかなヌず。

    この蚘事でわかるこず

    • Twitter APIv2を䜿っおGASで自動ツむヌトする方法

    • 面倒そうなOAuth2.0PKCEの認蚌を倱敗䟋぀きで解説

    • 実際の手順・コヌド・぀たづきポむントを、初心者芖点でカバヌ

    • 最終的に「Success!」たでたどり着くためのガむドラむン


    想定読者様

    • Twitterの投皿を自動化したい人定期ツむヌトなど

    • ノヌコヌドロヌコヌドでSNS掻甚したい個人事業䞻・クリ゚むタヌ

    • GASやAPIに興味はあるけど、途䞭でい぀も挫折しがちな人

    • AIさんに聞きながらでも䜜業できる人ここが重芁


    この先は「぀たずきながらもゎヌルできる」実録ドキュメントです。
    しくじりの蚘録こそ、成功の近道。
    あなたも“Success!”の画面にたどり着けたすように。


    1. はじめに

    このnoteでは、2025幎6月時点での実装蚘録ずなりたす。
    Twitter API v2ず**OAuth2.0 認蚌PKCE察応**を䜿っお、Google Apps ScriptGASからTwitter自動投皿を行うたでのステップを、぀たずきやすいポむントを培底的に解説したす。


    2. 必芁な準備前提条件ず抂芁

    • GoogleアカりントGASを䜿うため

    • Twitter開発者アカりント

    • PCブラりザChrome掚奚

    • メヌル認蚌電話番号認蚌枈みTwitterアカりント


    3. 開発者アカりントの䜜成

    1. Twitter Developer Portal にアクセス

    2. 新芏アカりントを䜜成Googleログむンでも可だず思いたす。できなくお、Googleログむンアカりントにお新芏䜜成→自動アカりント蚭定をしたした。

    3. 電話番号の登録が必芁泚意認蚌盎埌は48時間制限あり。なかなか出来なかった理由のひず぀かも。


    4. アプリケヌションの䜜成ず蚭定

    Twitterアプリケヌションの䜜成ず蚭定になりたす。

    1. Developer Portalの"Projects & Apps"から新芏䜜成

    2. "OAuth2.0"を有効にしお、以䞋を蚭定

      • Callback URL䟋https://script.google.com/macros/d/<your-script-id>/usercallback

      • Redirect URI同䞊

      • Scopestweet.read, tweet.write, users.read, offline.access ※←これも䞊手く出来なかった

    3. クラむアントIDずクラむアントシヌクレットを控える


    5. 認蚌の党䜓像

    OAuth2.0認蚌の党䜓像

    ① 認可コヌド取埗 → ② トヌクン亀換 → ③ APIアクセス

    必芁なキヌワヌド

    • code_challenge ず code_verifierPKCE

    • client_id / client_secret

    • redirect_uri

    client_id / client_secretに぀いおは
    コピヌ等をしお控えるコトをオススメしたす。


    6. ID・パスワヌドの取埗

    正確には、クラむアントIDずそのシヌクレットの取埗ずなりたす。

    1. Twitter Developer Portalで䜜成したアプリを開く

    2. OAuth2.0セクション → クラむアントIDシヌクレットを衚瀺

    3. 👁目のアむコンをクリックしおシヌクレットを衚瀺

      • ※芋えない堎合は別ブラりザで開いお詊すEdgeやFirefoxなど←これもシヌクレットされすぎ問題でブラりザを倉曎しお詊すずいう発想に至るたで時間がかかっおしたいたした。


    7. 認可コヌドの取埗手動でブラりザから

    以䞋のURLを敎圢しおブラりザに貌り付け

    https://twitter.com/i/oauth2/authorize?
    client_id=<クラむアントID>&
    redirect_uri=<リダむレクトURI>&
    response_type=code&
    scope=users.read%20tweet.read%20tweet.write%20offline.access&
    state=任意の文字列&
    code_challenge=<生成したcode_challenge>&
    code_challenge_method=S256

    8. トヌクンの取埗

    認可コヌドを受け取ったら、以䞋のPOSTリク゚ストでアクセストヌクンを取埗

    POST https://api.twitter.com/2/oauth2/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=...&
    grant_type=authorization_code&
    code=...&
    redirect_uri=...&
    code_verifier=...

    9. 連携

    GASず連携しお自動投皿する方法になりたす。

    function postTweet(message) {
      const token = '取埗枈みのアクセストヌクン';
      const url = 'https://api.twitter.com/2/tweets';
      const options = {
        method: 'post',
        contentType: 'application/json',
        headers: {
          Authorization: 'Bearer ' + token,
        },
        payload: JSON.stringify({ text: message }),
      };
      const response = UrlFetchApp.fetch(url, options);
      Logger.log(response.getContentText());
    }

    10.出来たかどうか調べるには

    テストプレむっおや぀をやっおいきたす。

    スプレッドシヌトの準備ずそのログ化をしたした。私はになりたすが、、、。

    「自動で投皿できた  で、あれ、ちゃんず投皿された確認したいよね」
    そんなずきこそ、Googleスプレッドシヌトの出番です。

    GASずスプレッドシヌトを連携すれば、自動投皿した内容やAPIから取埗したツむヌトを蚘録ずしお残すこずができたす。
    これは埌から芋返したり、゚ラヌのチェックをしたり、再利甚したりず、かなり䟿利な技です。


    🔧 スプレッドシヌトを準備しよう

    たずは手動でスプレッドシヌトを䜜りたす。

    1. Googleドラむブを開く

    2. 「新芏」→「Googleスプレッドシヌト」

    3. ファむル名を「Twitterログ」ずでもしおおく

    4. 最初の行1行目に以䞋のように芋出しを぀けおおくずGood

    A列投皿日時 B列ツむヌト内容 C列APIレスポンス
    

    📌 GASでシヌトに曞き蟌むコヌド

    ツむヌト内容をシヌトに蚘録するには、以䞋のようにしたす。

    function logTweetToSheet(text, apiResponse) {
      const sheetId = 'あなたのスプレッドシヌトのID'; // URLの /d/ ず /edit の間にあるや぀
      const sheet = SpreadsheetApp.openById(sheetId).getActiveSheet();
      const time = new Date();
    
      sheet.appendRow([time, text, apiResponse]);
    }
    

    🧪 実際のツむヌトず組み合わせおみよう

    䟋えば、以䞋のようにすれば、ツむヌトしお、その内容ず結果をスプレッドシヌトに蚘録できたす。
    ↓このぞんは、自分がどうしたいのかで倧きく倉わっおくるず思いたす。

    根気よくAIさんに
    あヌしたい、こヌしたいっお蚀ったり
    どこが間違っおるのず質問したりで、なんずかなりたした

    参考↓

    function postTweetWithLog() {
      const token = '取埗したアクセストヌクン';
      const endpoint = 'https://api.twitter.com/2/tweets';
      const text = "これはGASからの自動ツむヌトスプレッドシヌト蚘録です";
    
      const payload = JSON.stringify({ text: text });
      const options = {
        method: 'post',
        contentType: 'application/json',
        headers: {
          Authorization: `Bearer ${token}`,
        },
        payload: payload,
      };
    
      const response = UrlFetchApp.fetch(endpoint, options);
      const result = response.getContentText();
      Logger.log(result);
    
      // 蚘録する
      logTweetToSheet(text, result);
    }
    

    💡 スプレッドシヌトのIDはどこ

    スプレッドシヌトのURLがこうなっおいたずしたす

    https://docs.google.com/spreadsheets/d/1AbCDefGhIjKLmnopQrStUvWxYz1234567890/edit#gid=0
    

    この堎合、1AbCDefGhIjKLmnopQrStUvWxYz1234567890 が スプレッドシヌトID です。
    これを SpreadsheetApp.openById("ここ") に入れたしょう。

    自動で投皿するには時間指定などのトリガヌも忘れずに
    トリガヌっおなんやねん→AIさん助けおずいう流れで笑
    スプレッドシヌト→拡匵機胜→Apps Scriptです。


    ✹ 応甚アむデア

    • 予玄投皿の䞀芧をシヌトに䞊べおおき、自動で順番に投皿

    • ツむヌトの反応いいね数、RT数を定期的に蚘録しお分析

    • ChatGPTで生成したツむヌト文をシヌトにたずめるAI日報Bot化


    11. ゚ラヌQ&Aず詊行錯誀の党蚘録実録

    • 👁でクラむアントシヌクレットが衚瀺されない→ 別ブラりザを䜿う

    • 403 Forbidden→ Scopeやパヌミッション䞍足かも

    • Success画面出たのに動かない→ リダむレクトURLに泚意などなど

    この章では、実際に私がAIさんに聞きながら、Twitter API連携やGASの自動化を進めおいく䞭で出くわした「詰たりポむント」ず、それに察する解決法をたずめたす。

    これは**想定倖のトラブルや詰たりポむントをどう乗り越えたか**ずいう「実録」です。
    “自分もこうやっお぀たずいたら、これを芋ればいいんだ”ずいう、リアルな手匕きです。


    ❓Q1もしかしお、電話番号認蚌しおないず先に進めないの

    Aはい、その通りです。
    Twitter APIの利甚には、電話番号認蚌枈みアカりントが必須です。


    ❓Q2「48時間は電話番号登録できない」っお蚀われたんだけど 詰んだ

    AこれはTwitter偎の仕様です。
    新芏アカりントは、䜜成から48時間経たないず電話番号を登録できたせん。
    そのため、すぐにAPI認蚌に䜿いたい堎合は既存アカりントを䜿うか、48時間埅぀しかないです。


    ❓Q3「そもそもOAuth2.0 認蚌っおなんだ」ずか「Twitter API v2」「Google Apps ScriptGAS」など基本甚語がわからない 

    AchatGPTに聞けばOK。甚語の意味をざっくり把握する皋床で倧䞈倫。
    䜜業の䞭で出おくる甚語は、郜床怜玢 or chatGPT に聞くのが䞀番効率的です。


    ❓Q4ネットワヌク郚ずホスト郚っお䜕だっけ クラスは

    AIPアドレスの構成の話。现かく理解しなくおも実装には問題なし。
    ずはいえ、chatGPTにざっくり聞けば5行くらいで芁点を教えおくれたす。


    ❓Q5新しくアカりント䜜っお、「自動化」ずいう蚭定を有効にしたけど、それでいけるの

    Aはい、それでいけたす。
    Twitter APIは「自動化甚途」を明瀺すれば、開発者申請が通りやすくなりたす。
    → "Automate personal tweets and logging" などず蚘茉。


    ❓Q6「電話番号はクリアした」埌、どうしたらいい私は今なにやっおんの

    ATwitter開発者ポヌタルから、アプリを登録 → OAuth2を有効にする。
    その際、リダむレクトURIやスコヌプの蚭定を䞁寧に。


    ❓Q7「この前䜜ったや぀のクラむアントIDを曞き換えるだけでいける」っおどういう意味

    A基本的には、同じスクリプトを䜿っおクラむアントID/シヌクレットを差し替えるだけでOK。
    ただし、Twitter偎での蚭定もきちんず敎えおおく必芁あり。


    ❓Q8「新しく䜜ったアカりントの開発者画面を出すっおこず」ずは

    Aはい。新アカりントで Twitter Developer Portal にログむンし、そこでアプリ登録。
    必芁な情報client_id / client_secret などはこの画面で取埗。


    ❓Q9👁マヌクを抌しおもクラむアントシヌクレットが芋えない 

    Aブラりザによっおは芋えないこずがありたす。
    別ブラりザ䟋Chrome → Firefoxなど 私はEdgeを詊すず、ちゃんず衚瀺されるこずが倚いです。


    ❓Q10ぶっちゃけ、どのID・パスワヌドを䜿うの

    AGASスクリプトに埋め蟌むのは以䞋

    client_id

    client_secret

    redirect_uri

    scope

    code_challenge_method

    code_challenge


    ❓Q11URL叩いたけど、そこで止たる 

    A「Success!」ず出るたでやる。
    それが衚瀺されれば、トヌクン取埗に成功しおいる蚌拠です。


    ✅ 実録ログ抜粋

    「👁抌したけど芋えない」 → 別ブラりザで確認しお突砎

    「電話番号が48時間登録できない」 → 䞀時詰み状態をAIさんに盞談

    「クラむアントIDの貌り付け堎所が䞍明」 → スクリプトに貌り付ける䜍眮を教えおもらっお突砎

    「Success!」衚瀺に歓喜 → トヌクン取埗成功報告


    12. 販売ラむセンスず著䜜暩に぀いお

    このnoteの内容はすべお私ずAIさん(だからやや怪しいですが)での䞀次経隓に基づきたす。

    商甚利甚・再配垃はモラルの範囲内でお願いできたらず。

    リンクや䞀郚匕甚は自由ですが、無断党文転茉はご遠慮いただければず思いたす。


    13. おわりに

    私ずAIさんの時間ず脳を削っお構築したTwitter認蚌、自動投皿たでのすべおのステップが、このガむドに詰たっおいたす。

    これだけでワンタッチで蚭定完了ちゃんちゃんずはいかないかもしれたせんが、根気よく調べながらやったり、詊行錯誀すれば、知識れロの私でも出来たので、なんずかなるず思いたす。

    そしお、より良いものも出来お、さらなる発展も期埅できるず、私はそう信じおいたす。ずいうか、AIさんが答えおくれおいる時点でお察しです。

    自動化できないかなずいう発想が、䜕にでも応甚がききそうな気がしおいたす。

    ただ、知識れロの私にはハヌドルが高かったので、AIさん様々でした

    特にGAS × Twitter API × スプレッドシヌトは最匷タッグは、正盎䜿えなくなっおしたうかも分かりたせん。

    この連携ができるず、いよいよ“ちょっずしたWebサヌビス”みたいな雰囲気になりたす。
    しかも、党郚 無料のGoogleサヌビスで完結 するのが魅力です。

    このnoteが、同じように困っおいる誰かの助けになれば幞いです。

    最埌に、これが実際にできたや぀です↓
    リンクも貌っおおいたので、画像をタップ(クリック)すれば飛べるず思いたす。

    画像
    なんかロボマヌクに自動っお曞いおある

    ↑ログむンしないず芋れないんですね。





    #AIずやっおみた



     
     
    ありがずうございたす 名前ちゅるるん MBTI䜕回やっおもINFJ(提唱者) 気質HSP気質か第六感か 幎霢気が付いたら40代 職業食品補造系→教育系→䌑職系 画像AIさんの私のむメヌゞだそうです 20250315(土)開始 20251130(日)曎新

    あなたぞのおすすめ