Google AI Studioを使用したブログの自動更新を検証してみる

Uncategorized


前回Googleドライブにファイルを作成しMake.comを使用して記事の下書きを作成する方法が非常に安定しなかった為、今回は別のアプローチを試してみる。

自動化についてGeminiに相談をしたところ、以下の構成でもWordPressの更新を自動化できるとのこと。

【Geminiの回答】
 案:API連携による「記事の自動投稿」

 Gemini APIとWordPressのREST APIを連携させることで、AIが記事を執筆し、そのままブログに下書き保存や公開まで行うシステムを構築できます。



詳細はこんな感じ

『投稿用スクリプトを作成』 → 『google App scriptを使用してスクリプトを実行』 → 『google App script が Geminiに記事を作成するよう命令』 → 『google App script が Geminiから記事データを受け取る』 → 『作成した記事をWordPressに投稿』 

 …という流れ


作成する際の流れはこんな感じ


①必要な情報の準備
 まず、2つのサービスから連携用のキーを取得します。

  1. Gemini APIキーの取得
  2. WordPress ユーザーアプリケーションパスワードの発行

②自動投稿スクリプトの作成
 
 

③『google App script』でのデバッグと実行
 スクリプトを実行し、WordPressの「投稿一覧」に下書きが作成されているか確認します。
 

④定期実行(自動化の完成)
 『google App script』にてスクリプトを登録し実行時間を設定します。




せっかくなので試してみましょう!



結論だけいうと今回の方法は割とちゃんと動きます!






必要な情報の準備



まず、2つのサービスから連携用のキーを取得します。

Gemini APIキーの取得

 1.Gemini APIキーの取得
  Google AI Studio にアクセスします。

 2.左メニューから「Dashboard」をクリックします。



 3.右上部分の『APIキーを作成』をクリックします。



 4.「キー作成」をクリック

 5.以下にキーが作成されます。右枠部分をクリックすると「APIキー」をコピーできます。



WordPress ユーザーアプリケーションパスワードの発行


次にWordPressからユーザーアプリケーションパスワードの発行を行います。

 1.WordPressにアクセスします
 

 2.下部の「ユーザー」→「プロフィール」とクリックします 
 




 3.ページの下部に移動し、『アプリケーションパスワード名』を入力します。
  パスワード名はなんでもいいです。
  
  次に『アプリケーションパスワード追加』をクリックします。
  ここでパスワードが表示されるのでコピーします。
  
  ※パスワードは1回しか表示されません。コピーし忘れたらもう一度作成しましょう。
 



自動投稿スクリプトの作成



ここではGeminiにスクリプトを作成してもらいましょう。

『# 設定情報』部分を上記で作成した『” ”』で区切った部分を自分のものに変更しましょう。

コードはAIとキャッチボールすれば、よりよいものになります。


import requests
import json

# 設定情報
GEMINI_API_KEY = "あなたのGemini APIキー"
WP_USER = "wordPressのユーザー名"
WP_APP_PASSWORD = "WordPressのAPIキー"
WP_BASE_URL = "https://あなたのサイトドメイン"

def generate_content(prompt):
    # Gemini APIを呼び出して記事本文を生成するロジック
    url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={GEMINI_API_KEY}"
    headers = {'Content-Type': 'application/json'}
    data = {
        "contents": [{"parts": [{"text": prompt}]}]
    }
    response = requests.post(url, headers=headers, json=data)
    return response.json()['candidates'][0]['content']['parts'][0]['text']

def post_to_wordpress(title, content):
    # WordPress REST APIを使用して投稿
    credentials = (WP_USER, WP_APP_PASSWORD)
    post_data = {
        "title": title,
        "content": content,
        "status": "draft"  # 最初は「draft(下書き)」にすると安全です
    }
    response = requests.post(f"{WP_BASE_URL}/posts", auth=credentials, json=post_data)
    
    if response.status_code == 201:
        print("記事が正常に下書き保存されました!")
    else:
        print(f"エラーが発生しました: {response.text}")

# 実行
article_topic = "最新のAI技術がブログ運営に与える影響について"
prompt = f"{article_topic} というテーマで、読者の役に立つブログ記事を1500文字程度で執筆してください。HTMLタグ(h2, h3)を含めて出力してください。"

print("記事を生成中...")
body_text = generate_content(prompt)
post_to_wordpress(article_topic, body_text)



『google App script』でのデバッグと実行




1.google App scriptにアクセスします。


2.『新しいプロジェクト』をクリックします。



3.Geminiに作成してもらったコードを貼り付けます。




4.張り付けたコードは上部のボタンで保存できます。




5.実行ボタンからテスト実行が可能です。



 実行をクリックすると画面下部に「実行ログ」が表示されます。



 しばらく待つと実行が完了します。



 ※失敗するとエラーが表示されます。



定期実行(自動化の完成)


最後に自動的に実行できるように Google APP Script を設定します。


1.トリガーをクリックします。



2.下部にある『トリガーを追加』をクリックします。



3.実行する関数に先に作成したものが選択されていることを確認します。
 
 時間ベースのトリガータイプ:「日時」、「週時」、「月時」が選択できます。

 時刻を選択:実行する時間を選択します。
       ジャストタイムで実行される訳ではなく以下の例だと2~3時の間で実行されます。




これで作成完了となります。

アイキャッチ画像と同様に毎日定点でスクリプトが実行されるようになります。


<フロー図>





所感


一か月程度、動作検証していますが週に1-2程度の割合で失敗します。

基本的には”503エラー”のログだけでているようなので、

一時的なアクセス障害?が考えられます。

もしくは、日本時間で14-15時で動作するように設定しているのでGoogle(アメリカ)側のメンテナンス時間に該当するとか?かもしれません。

詳細は不明ですが。


<GoogleAIの回答>



前回のGeminiとmake.comを使用した方法よりかは遥かに安定するので
ブログの自動更新を考えている方は参考程度にどうぞ。
※GeminiとGoogleDriveの問題なので、make.comが悪いわけではないですが…






最後に課金の有無については Google AI Studio の『課金』 → 『お支払い情報を設定』部分にカード情報等が登録されていない状態であれば”無料枠”を使用していることになります。
この状態であれば請求は発生しないので、こちらもご参考に。



以上