Last active
May 31, 2022 11:30
-
-
Save tajuszk/d6c718340ff78a920f9ea53eba885bab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const consumerKey = 'XXXXXXXXXX' | |
const consumerSecret = 'XXXXXXXXXXXXX' | |
const client = TwitterClient.getInstance(consumerKey, consumerSecret) | |
function main () { | |
const accountNames = ['XXXXXXX']; | |
for (let i in accountNames) { | |
const accountName = accountNames[i]; | |
const includeRT = false // RTを含むか(他のユーザーのツイートのRTも再度RTします) | |
const retweetCount = 5 // 直近何件のツイートをRTするか | |
const tweetIds = client.pickupTweetsLatest(accountName, includeRT, retweetCount); | |
// チェックコード | |
const tweetShowUrl = 'https://api.twitter.com/1.1/statuses/show.json'; | |
const testParams = []; | |
for (let i = tweetIds.length - 1; i >= 0; i--) { | |
const tweetShowParam = { | |
id: tweetIds[i], | |
tweet_mode: 'extended' // URLが省略されていることがあるので | |
} | |
const tweetShowResult = client.getRequest(tweetShowUrl, tweetShowParam); | |
const urls = tweetShowResult.entities.urls; | |
testParams.push({ | |
url: 'https://twitter.com/' + accountName + '/status/' + tweetShowResult.id_str, | |
text: tweetShowResult.full_text, | |
link: urls.length > 0 ? 'リンクあり' : 'リンクなし', | |
media: tweetShowResult.entities.media !== undefined ? '動画あり' : '動画なし', | |
}); | |
if (tweetShowResult.entities.urls.length > 0) { | |
console.warn('===リツイート対象から外します==='); | |
console.log(tweetShowResult.full_text); | |
console.log(tweetShowResult.entities.urls); | |
console.warn('======'); | |
tweetIds.splice(i, 1) | |
} | |
} | |
console.warn('今回のリツイート対象はこちら↓'); | |
console.log(testParams); // ここにツイートが含まれるか確認してみる | |
console.warn('ツイート対象のID'); | |
console.log(tweetIds); | |
client.retweet(tweetIds) | |
} | |
} | |
/** | |
* ①Twitterで作ったアプリに登録するための callbackUrl を取得する | |
* 実行後 『表示』→『ログ』でURLを確認してTwitterアプリに登録 | |
*/ | |
function getCallbackUrl() { | |
Logger.log('以下のURLをTwitterアプリのCallbackURLに登録'); | |
Logger.log(client.getCallbackUrl()); | |
} | |
/** | |
* ②認証を実行する | |
* 実行後『表示』→『ログ』で表示されたURLに移動 | |
*/ | |
function authorize () { | |
client.authorize() | |
} | |
/** | |
* 認証を削除したい時はこれを実行する | |
*/ | |
function reset () { | |
client.reset() | |
} | |
/** | |
* authorizeでTwitterでの認証後に実行される処理 | |
* ※手動で実行はしません | |
*/ | |
function authCallback (request) { | |
return client.authCallback(request) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment