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編集をクリック
1-3 コードの入力
以下のコードを追加:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
注意:元々入っている2行のコード(SetEnv…)は消さないこと。
①はこれで終了。
※ プラグイン JWT Authentication for WP REST APIのインストール
5つのTODOには入れてませんが、このプラグインのインストールは必須。
有効化するだけ。設定とかありません。
② シークレットキーを入手
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
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はコマンドの略?
4-2 コマンドプロンプトが現れる
4-3 コマンドプロンプトに入力
私の語彙では後で読んでも理解できないのでChatGPTの言葉をコピペ。
下記を入力。usernameとpasswordを入力。
curl -X POST http://yourwordpresssite.com/wp-json/jwt-auth/v1/token
-d "username=your_username&password=your_password"
usernameとpasswordはワードプレスに入力する文字と同じ。
ログイン自動入力でユーザー名を忘れた場合、ワードプレスの管理画面から見つけることができます。
4-4 コマンドプロンプトに入力後
コマンドプロンプトに入力して成功すると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を予定。
この記事が気に入ったらサポートをしてみませんか?