AI-generated Key Takeaways
-
To retrieve tweets for a specified user or send a tweet, you need to use a User-level Twitter API request.
-
Both functions require the OAuth1 library to be pasted into the script.
-
You must replace the placeholder values for CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, and ACCESS_SECRET with your own credentials.
-
The
getTweetsForUser
function retrieves tweets for a given screen name and returns a complex response object. -
The
sendTweet
function sends a tweet message and returns a complex response object with the status of the send request.
Retrieve tweets for a specified user
// User-level Twitter API request // Requires the OAuth1 library to be pasted into the script. // https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library const CONSUMER_KEY = 'INSERT_CONSUMER_KEY_HERE'; const CONSUMER_SECRET = 'INSERT_CONSUMER_SECRET_HERE'; const ACCESS_TOKEN = 'INSERT_ACCESS_TOKEN_HERE'; const ACCESS_SECRET = 'INSERT_ACCESS_SECRET_HERE'; /** * Retrieves the tweets for the specified Twitter user. * @param {string} screenName The Twitter name of the user, e.g. 'sundarpichai' * @return {?Object} The complex response object containing tweets, or null if * failure. See https://dev.twitter.com/rest/reference/get/statuses/user_timeline * for structure of this object. */ function getTweetsForUser(screenName) { if (typeof OAuth1 === 'undefined') { const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library'; throw Error('OAuth1 library not found. Please take a copy of the OAuth1 ' + 'library from ' + libUrl + ' and append to the bottom of this script.'); } const params = {screen_name: screenName}; const authUrlFetch = OAuth1.withAccessToken(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET); const response = authUrlFetch .fetch('https://api.twitter.com/1.1/statuses/user_timeline.json', params); const responseText = response.getContentText(); return JSON.parse(responseText); } // Paste the OAuth1 library here.
Send a tweet
// User-level Twitter API request // Requires the OAuth1 library to be pasted into the script. // https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library const CONSUMER_KEY = 'INSERT_CONSUMER_KEY_HERE'; const CONSUMER_SECRET = 'INSERT_CONSUMER_SECRET_HERE'; const ACCESS_TOKEN = 'INSERT_ACCESS_TOKEN_HERE'; const ACCESS_SECRET = 'INSERT_ACCESS_SECRET_HERE'; /** * Sends a tweet. * @param {string} message The message to send. * @return {?Object} The complex response object with the status of the send * request. See https://dev.twitter.com/rest/reference/post/statuses/update * for the structure of this object. */ function sendTweet(message) { if (typeof OAuth1 === 'undefined') { const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library'; throw Error('OAuth1 library not found. Please take a copy of the OAuth1 ' + 'library from ' + libUrl + ' and append to the bottom of this script.'); } const params = ''; const tweet = message.substring(0, 160); const options = {method: 'POST', payload: {status: tweet}}; const authUrlFetch = OAuth1.withAccessToken(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET); const response = authUrlFetch .fetch('https://api.twitter.com/1.1/statuses/update.json', params, options); const responseText = response.getContentText(); return JSON.parse(responseText); }