Twitter (OAuth1.0)
Stay organized with collections Save and categorize content based on your preferences.
// 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.
// 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); }
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThis script enables retrieval of tweets for a specified Twitter user using their screen name and the Twitter API.\u003c/p\u003e\n"],["\u003cp\u003eIt also allows sending tweets with a message of up to 160 characters through the Twitter API.\u003c/p\u003e\n"],["\u003cp\u003eBoth functionalities require the OAuth1 library to be included in the script for authentication and authorization with Twitter.\u003c/p\u003e\n"],["\u003cp\u003eBefore utilizing the script, ensure you replace placeholder values for consumer key, consumer secret, access token, and access secret with your actual Twitter API credentials.\u003c/p\u003e\n"]]],[],null,["Retrieve tweets for a specified user \n\n```carbon\n// User-level Twitter API request\n// Requires the OAuth1 library to be pasted into the script.\n// https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library\n\nconst CONSUMER_KEY = 'INSERT_CONSUMER_KEY_HERE';\nconst CONSUMER_SECRET = 'INSERT_CONSUMER_SECRET_HERE';\nconst ACCESS_TOKEN = 'INSERT_ACCESS_TOKEN_HERE';\nconst ACCESS_SECRET = 'INSERT_ACCESS_SECRET_HERE';\n\n/**\n * Retrieves the tweets for the specified Twitter user.\n * @param {string} screenName The Twitter name of the user, e.g. 'sundarpichai'\n * @return {?Object} The complex response object containing tweets, or null if\n * failure. See https://dev.twitter.com/rest/reference/get/statuses/user_timeline\n * for structure of this object.\n */\nfunction getTweetsForUser(screenName) {\n if (typeof OAuth1 === 'undefined') {\n const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library';\n throw Error('OAuth1 library not found. Please take a copy of the OAuth1 ' +\n 'library from ' + libUrl + ' and append to the bottom of this script.');\n }\n const params = {screen_name: screenName};\n const authUrlFetch = OAuth1.withAccessToken(CONSUMER_KEY, CONSUMER_SECRET,\n ACCESS_TOKEN, ACCESS_SECRET);\n const response = authUrlFetch\n .fetch('https://api.twitter.com/1.1/statuses/user_timeline.json', params);\n const responseText = response.getContentText();\n return JSON.parse(responseText);\n}\n\n// Paste the OAuth1 library here.\n```\n\nSend a tweet \n\n```gdscript\n// User-level Twitter API request\n// Requires the OAuth1 library to be pasted into the script.\n// https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library\n\nconst CONSUMER_KEY = 'INSERT_CONSUMER_KEY_HERE';\nconst CONSUMER_SECRET = 'INSERT_CONSUMER_SECRET_HERE';\nconst ACCESS_TOKEN = 'INSERT_ACCESS_TOKEN_HERE';\nconst ACCESS_SECRET = 'INSERT_ACCESS_SECRET_HERE';\n\n/**\n * Sends a tweet.\n * @param {string} message The message to send.\n * @return {?Object} The complex response object with the status of the send\n * request. See https://dev.twitter.com/rest/reference/post/statuses/update\n * for the structure of this object.\n */\nfunction sendTweet(message) {\n if (typeof OAuth1 === 'undefined') {\n const libUrl = 'https://developers.google.com/google-ads/scripts/docs/examples/oauth10-library';\n throw Error('OAuth1 library not found. Please take a copy of the OAuth1 ' +\n 'library from ' + libUrl + ' and append to the bottom of this script.');\n }\n const params = '';\n const tweet = message.substring(0, 160);\n const options = {method: 'POST', payload: {status: tweet}};\n const authUrlFetch = OAuth1.withAccessToken(CONSUMER_KEY, CONSUMER_SECRET,\n ACCESS_TOKEN, ACCESS_SECRET);\n const response = authUrlFetch\n .fetch('https://api.twitter.com/1.1/statuses/update.json', params,\n options);\n const responseText = response.getContentText();\n return JSON.parse(responseText);\n}\n```"]]