このページの目次
Twitterアフィリエイト再始動


上記2つの記事でSEOとSNSアダルトアフィリエイトの再開記事を書きました。Tiktokの新しいSNSアダルトアフィリエイトを始めるにあたって、集客した先の収益化のためTwitterでのSNSアダルトアフィリエイト再始動です。
Twitter(X)のアダルトアフィリエイトの使い方
以前はAPIを使わずに自動化しておりましたが、今回はBANされてしまった。などのことも記事にするためAPIを使用することに決めました。
Twitter(X)でのアフィリエイトの構想は以下の通り
- 人気女優の有料動画を販売したい
- サンプル動画の自動ツイートが必要
- GAS(google apps script)での記事収集
- 必要であれば動画の加工
- GASでの自動ツイート
- Tiktokでのユーザー確保
前回の失敗点
以前の記事にも書きましたが、Twitter(X)だけではもはや新規アカウントは集客できません。インプレッションが低いので売れません。
Twitter(X)のアダルトアフィリエイトを開始してみる
アカウント作成しました

まずは適当にアカウント作成しました。最近は画像認証が面倒ですね。。
APIを使えるようにしました

APIの使い方はネット上にたくさん記事があふれているので今回は割愛。
先にGASを作成しておき、リダイレクトURLにGASのスクリプトIDを使う場面があります。
GASとの提携をしました

GASでの接続方法はざっくりいうと
- API発行時のCLIENT、CLIENT_SECRETをコピー
- GASに貼り付け
- ライブラリ「Oauth2」を導入
const CLIENT_ID = "ここにペースト";
const CLIENT_SECRET = "ここにペースト";
function getService() {
pkceChallengeVerifier();
const userProps = PropertiesService.getUserProperties();
const scriptProps = PropertiesService.getScriptProperties();
return OAuth2.createService('twitter')
.setAuthorizationBaseUrl('https://twitter.com/i/oauth2/authorize')
.setTokenUrl('https://api.twitter.com/2/oauth2/token?code_verifier=' + userProps.getProperty("code_verifier"))
.setClientId(CLIENT_ID)
.setClientSecret(CLIENT_SECRET)
.setCallbackFunction('authCallback')
.setPropertyStore(userProps)
.setScope('users.read tweet.read tweet.write offline.access')
.setParam('response_type', 'code')
.setParam('code_challenge_method', 'S256')
.setParam('code_challenge', userProps.getProperty("code_challenge"))
.setTokenHeaders({
'Authorization': 'Basic ' + Utilities.base64Encode(CLIENT_ID + ':' + CLIENT_SECRET),
'Content-Type': 'application/x-www-form-urlencoded'
})
}
function getService1(){
return OAuth1.createService( "Twitter" )
.setAccessTokenUrl( "https://api.twitter.com/oauth/access_token" )
.setRequestTokenUrl( "https://api.twitter.com/oauth/request_token" )
.setAuthorizationUrl( "https://api.twitter.com/oauth/authorize" )
.setConsumerKey( API_KEY )
.setConsumerSecret( API_KEY_SECRET )
.setAccessToken( ACCESS_TOKEN, ACCESS_TOKEN_SECRET )
.setCallbackFunction('authCallback'); // コールバック関数名
}
function authCallback(request) {
const service = getService();
const authorized = service.handleCallback(request);
if (authorized) {
return HtmlService.createHtmlOutput('Success!');
} else {
return HtmlService.createHtmlOutput('Denied.');
}
}
function pkceChallengeVerifier() {
var userProps = PropertiesService.getUserProperties();
if (!userProps.getProperty("code_verifier")) {
var verifier = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
for (var i = 0; i < 128; i++) {
verifier += possible.charAt(Math.floor(Math.random() * possible.length));
}
var sha256Hash = Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, verifier)
var challenge = Utilities.base64Encode(sha256Hash)
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '')
userProps.setProperty("code_verifier", verifier)
userProps.setProperty("code_challenge", challenge)
}
}
function logRedirectUri() {
var service = getService();
Logger.log(service.getRedirectUri());
}
function main() {
const service = getService();
if (service.hasAccess()) {
Logger.log("Already authorized");
} else {
const authorizationUrl = service.getAuthorizationUrl();
Logger.log('Open the following URL and re-run the script: %s', authorizationUrl);
}
}
Twitter(X)のGAS提携のためのスクリプトの引用です。これをGASに貼り付けて、CLIENT情報を書き換えれば提携できますが、リダイレクトURLが発行されるので認証をお忘れなく。
Twitter(X)のアダルトアフィリエイトの動かし方
夏までには収益を出したいので、まずはアカウント内にアフィリエイト用のサンプル動画とツイートをつぶやきたいですね。
ただ、導線であるTiktokのアカウントも動かさないといけないのでTwitter(X)は完全自動化がやはり望ましいです。
そんなところに時間かけられませんからねぇ。。。ただ、以前はツイートの内容が陳腐すぎたので、インプレッションが低かったのかも。。とも思いましたが、
Tiktokからの導入が増えても収益化できない場合はTwitter(X)のツイート内容も見返す必要があるかもしれません。


コメント