見出し画像

note 154日目 FANZA完全自動投稿2【スプシでアダアフィ挑戦】

GASを使ってエログの完全自動化をたくらんでます。

自動化に成功して収益を生み出すことができれば、無職になっても路頭に迷わず生活できるかもしれません。

完全自動化プログラムはChatGPTは絶対できると断言しているのでとりあえずやってみます。

難しい単語がかなり出てきました。理解不能ですが、ChatGPTが手取り足取り手伝ってくれるのでなんとかやり切りました。記事入れて試してないので完成かどうかは不明。たぶんエラーも頻発するでしょう。


話変わりますが、たったの5記事でFANZA申請がおりました。☺


ここからは備忘録です。
自分用メモなので皆さんにとっては意味不明なnoteになってしまいます。
すみません。

プログラマーとかコード読める方にとっては私の無知ぶりを発揮しているnoteになっているのでヒマつぶしに読んでみてください。笑


■ 備忘録

5つのTODO

① .htaccessの編集
② シークレットキーを入手
③ wp-config.phpの編集
④ JWTトークンの入手
⑤ GASにJWTトークンを入力


ーーー

■ ざっくりメモ

.htaccess (シン:サーバー管理画面)
     コードを入力するだけ

②シークレットキーを入手 (外部サイト:GUID)
   ③のwp-config.phpに入力するために必要

③wp-config.phpの編集 (シン:ファイル管理画面)
     入手したシークレットキーをwp-config.php編集画面で入力

④JWTトークンの入手 (PCコマンド) 
     コマンドプロンプトにユーザー名・パスワードを入力
     JSON形式でトークン入手
     JWTトークンはGASのコード内に入力するために必要

⑤ GASにJTWトークンを入力 (GAS)
入手したトークンをGASに記入

簡単そうで難しい… やってみないとわからない…. 
相変わらず意味不明な単語たち… 

ーーー

ちなみにサーバーはシンレンタルサーバーを使ってます。

アフィリンクは貼ってません!

■ 画像付きで詳しくメモ

① .htaccessの編集

1-1 シンレンタルサーバーにアクセス。
トップページからサーバー管理をクリック。

サーバー管理をクリック

1-2 サーバー管理画面の.htaccess編集をクリック

.htaccess編集をクリック

1-3 コードの入力

.htaccessの編集方法

以下のコードを追加:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP:Authorization} ^(.*)
  RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>

注意:元々入っている2行のコード(SetEnv…)は消さないこと。

編集後 (赤字部分のコードを追加でOK) 

①はこれで終了。

※ プラグイン JWT Authentication for WP REST APIのインストール

5つのTODOには入れてませんが、このプラグインのインストールは必須。
有効化するだけ。設定とかありません。

プラグイン
何もしなくて大丈夫

② シークレットキーを入手

GUIDという外部サイトで、シークレットキーを入手します。

GUIDのサイト画面

「How many GUIDs do you want (1-1000)」と聞かれてますが、1でOK。
Generateのボタンを押すとResultにシークレットキーが生成されます。

生成されたシークレットキー

このシークレットキーは③で使います。

③ wp-config.phpの編集

3-1 トップ画面からファイル管理をクリック。

ファイル管理をクリック

3-2 ファイルマネージャのトップ画面。
私の苦手なところ。苦手というか全く理解してない。
できれば関わりたくない。

ファイルマネージャのトップ画面

3-3 wp-config.phpを探す
自分のHP (例:abc.com) のフォルダが左側にあります。
そのフォルダの中にpublic_htmlがあり、その中にtopというフォルダがある。その中にwp-config.phpがある。

abc.com(例) → public_html → top → wp-config.php 

なかなか見つからなかったwp-config.php 

3-4 wp-config.phpを選択して、「編集」ボタンをクリック。
すると、編集画面がポップUPされる。

編集画面

3-5 ポップUPされた編集画面に下記のコードを入力
ここで②のシークレットキーを入力することになります。 
phpのコードが長いですが、下のほう。

define('JWT_AUTH_SECRET_KEY', 'あなたのシークレットキー');

入力は下記の英文(●と●)の間。

● /* Add any custom values between this line and the "stop editing" line. */
define('JWT_AUTH_SECRET_KEY', '3');

<<<  ここに入力  >>>

● /* That's all, stop editing! Happy publishing. */

こんな感じ


ここまでで③が終了。

④ JWTトークンの入手

PC画面左下の検索窓のコマンドプロンプトからトークンを入手します。

4-1 PC画面左下の検索窓にcmdを入力。
cmdはコマンドの略?

cmdを入力

4-2 コマンドプロンプトが現れる

コマンドプロンプト

4-3 コマンドプロンプトに入力
私の語彙では後で読んでも理解できないのでChatGPTの言葉をコピペ。

ChatGPTのアドバイス

下記を入力。usernameとpasswordを入力。

curl -X POST http://yourwordpresssite.com/wp-json/jwt-auth/v1/token 
  -d "username=your_username&password=your_password"

usernameとpasswordはワードプレスに入力する文字と同じ。

usernameとpassword

ログイン自動入力でユーザー名を忘れた場合、ワードプレスの管理画面から見つけることができます。

usernameはここでも見つかる

4-4 コマンドプロンプトに入力後
コマンドプロンプトに入力して成功するとJSON形式で表示されます。

JSON形式

黒塗り部分周辺がJWTトークン。
このトークンをGASのコードに入力します。

⑤ GASにJTWトークンを入力 (GAS)

記事テンプレからワードプレスに送るGASコード。この中に取得したトークンを記入。

function postToWordPress() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var token = // 取得したJWTトークンをここに設定

  for (var i = 1; i < data.length; i++) {
    var slug = data[i][0];
    var postType = data[i][1];
    var postStatus = data[i][2];
    var title = data[i][3];
    var content = data[i][4];
    var thumbnailUrl = data[i][5];
    var postDate = data[i][6];
    var postModified = data[i][7];
    var tags = data[i][8].split(',').map(function(tag) { return tag.trim(); });
    var category = data[i][9].split(',').map(function(cat) { return cat.trim(); });

    var url = "https://yourwordpresssite.com/wp-json/wp/v2/posts";//あなたのサイトURL 
    var options = {
      "method": "post",
      "headers": {
        "Authorization": "Bearer your_jwt_token",  // 取得したJWTトークンをここに設定
        "Content-Type": "application/json"
      },
      "payload": JSON.stringify({
        "slug": slug,
        "type": postType,
        "status": postStatus,
        "title": title,
        "content": content,
        "date": postDate,
        "modified": postModified,
        "tags": tags,
        "categories": category,
        "featured_media": uploadImage(thumbnailUrl, token)
      })
    };

    try {
      var response = UrlFetchApp.fetch(url, options);
      Logger.log(response.getContentText());
    } catch (e) {
      Logger.log('Error posting row ' + i + ': ' + e.message);
    }
  }
}

function uploadImage(imageUrl, token) {
  var mediaUrl = "https://yourwordpresssite.com/wp-json/wp/v2/posts";//あなたのサイトURL
  var response = UrlFetchApp.fetch(imageUrl);
  var imageData = response.getBlob();
  var options = {
    "method": "post",
    "headers": {
      "Authorization": "Bearer your_jwt_token",  // 取得したJWTトークンをここに設定
      "Content-Type": "image/jpeg",
      "Content-Disposition": 'attachment; filename="thumbnail.jpg"'
    },
    "payload": imageData.getBytes()
  };

  var mediaResponse = UrlFetchApp.fetch(mediaUrl, options);
  var mediaData = JSON.parse(mediaResponse.getContentText());
  return mediaData.id;
}

■感想

最初は全く判らずChatGPTに言われるがままキーボードたたいてた。
自分が何をやっているのかさっぱり、という感じ。

これじゃまずいとExcelにスクショして忘れないようにとメモしまくり。今日の作業はスクショしたり色々と手間はかかりましたが、それなりに身に付いた様子。これだけ細かくnoteに書いておけば、次回は楽して設定できるようになりたい。

大量のAPI作品データを選別して記事テンプレに入れられれば後はほったらかし。まだ完成していないけど、なんとか完成したい… 

noteに書くことにより、頭の中は整理されます。他人が読むと思うとそれなりにきちんとまとめてました。ChatGPTとのやり取りを何度も読み返しました。マウスのスクロールをずっとしていたので、指先が痛い。

■宿題

GASのトリガー設定はまだまったくいじっておらず。トリガー設定は一度いじったことはあるので、なんとかなるかなあと楽観視。
週末は仕事で時間無いので来週以降ですね。

■計画

来週(7/1~7)は運用テスト。
画像数枚と文字少々で試してみる。

上手くいったら、記事テンプレでもう一度テスト(7/8~)。

問題なければ本格的な稼働は7月中旬。

記事テンプレもまだ未完成なので、平行して作成。
今回はvideoaのフロアで作成。

運用するサイトは新たに取得したサイトDではなく、全くアクセスの無いサイトAを予定。

サイトA

この記事が気に入ったらサポートをしてみませんか?