Twitter (OAuth2.0)

 /** 
 * Example of using Twitter Application-only authentication from Google Ads Scripts 
 * Application-only authentication is used where the aspects of the API being 
 * used do not require impersonating a given Twitter user. 
 * 
 * Example usage: 
 *   initializeOAuthClient(); 
 *   // Get trends using a woeId to specify location. See: 
 *   // https://developer.yahoo.com/geo/geoplanet/guide/concepts.html 
 *   const results = getTrendsForLocation(44418); 
 * 
 * See https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#client_credentials_grant 
 * for details on configuring this script. 
 * 
 * NOTE: This script also requires the OAuth2 library to be pasted at the end, 
 * as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library 
 */ 
 // Consumer Key for your application set up at https://apps.twitter.com. See 
 // 'Keys and Access Tokens' for generating your consumer key. 
 const 
  
 TWITTER_CONSUMER_KEY 
  
 = 
  
 ' 
 INSERT_CONSUMER_KEY_HERE 
 ' 
 ; 
 const 
  
 TWITTER_CONSUMER_SECRET 
  
 = 
  
 ' 
 INSERT_CONSUMER_SECRET_HERE 
 ' 
 ; 
 let 
  
 authUrlFetch 
 ; 
 // Call this function just once, to initialize the OAuth client. 
 function 
  
 initializeOAuthClient 
 () 
  
 { 
  
 if 
  
 ( 
 typeof 
  
 OAuth2 
  
 == 
 = 
  
 ' 
 undefined 
 ' 
 ) 
  
 { 
  
 const 
  
 libUrl 
  
 = 
  
 ' 
 https 
 : 
 //developers.google.com/google-ads/scripts/docs/examples/oauth20-library'; 
  
 throw 
  
 Error 
 ( 
 ' 
 OAuth2 
  
 library 
  
 not 
  
 found 
 . 
  
 Please 
  
 take 
  
 a 
  
 copy 
  
 of 
  
 the 
  
 OAuth2 
  
 ' 
  
 + 
  
 ' 
 library 
  
 from 
  
 ' 
  
 + 
  
 libUrl 
  
 + 
  
 ' 
  
 and 
  
 append 
  
 to 
  
 the 
  
 bottom 
  
 of 
  
 this 
  
 script 
 . 
 ' 
 ); 
  
 } 
  
 const 
  
 tokenUrl 
  
 = 
  
 ' 
 https 
 : 
 //api.twitter.com/oauth2/token'; 
  
 authUrlFetch 
  
 = 
  
 OAuth2 
 . 
 withClientCredentials 
 ( 
  
 tokenUrl 
 , 
  
 TWITTER_CONSUMER_KEY 
 , 
  
 TWITTER_CONSUMER_SECRET 
 ); 
 } 
 /** 
 * Retrieves a list of trending topics for a given geographic area of interest. 
 * @param {string} woeId Geographic location specified in Yahoo! Where On Earth 
 *     format. See https://developer.yahoo.com/geo/geoplanet/guide/concepts.html 
 * @return {Object} The Trends results object, see: 
 *     https://dev.twitter.com/rest/reference/get/trends/place for details. 
 */ 
 function 
  
 getTrendsForLocation 
 ( 
 woeId 
 ) 
  
 { 
  
 const 
  
 url 
  
 = 
  
 ` 
 https 
 : 
 //api.twitter.com/1.1/trends/place.json?id=${woeId}`; 
  
 const 
  
 response 
  
 = 
  
 authUrlFetch 
 . 
 fetch 
 ( 
 url 
 ); 
  
 return 
  
 JSON 
 . 
 parse 
 ( 
 response 
 . 
 getContentText 
 ()); 
 } 
 // Paste in OAuth2 library here, from: 
 // https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library 

Retrieve tweets for a given search query

 /** 
 * Example of using Twitter Application-only authentication from Google Ads Scripts 
 * Application-only authentication is used where the aspects of the API being 
 * used do not require impersonating a given Twitter user. 
 * 
 * Example usage: 
 *   initializeOAuthClient(); 
 *   const results = getTweetsForSearch('Olympics 2016'); 
 *   const localResults = getTweetsForSearch('Euro 2016', '51.5085300,-0.1257400,10mi'); 
 * 
 * See https://developers.google.com/google-ads/scripts/docs/features/third-party-apis#client_credentials_grant 
 * for details on configuring this script. 
 * 
 * NOTE: This script also requires the OAuth2 library to be pasted at the end, 
 * as obtained from https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library 
 */ 
 // Consumer Key for your application set up at https://apps.twitter.com. See 
 // 'Keys and Access Tokens' for generating your consumer key. 
 const 
  
 TWITTER_CONSUMER_KEY 
  
 = 
  
 ' 
 INSERT_CONSUMER_KEY_HERE 
 ' 
 ; 
 const 
  
 TWITTER_CONSUMER_SECRET 
  
 = 
  
 ' 
 INSERT_CONSUMER_SECRET_HERE 
 ' 
 ; 
 let 
  
 authUrlFetch 
 ; 
 // Call this function just once, to initialize the OAuth client. 
 function 
  
 initializeOAuthClient 
 () 
  
 { 
  
 if 
  
 ( 
 typeof 
  
 OAuth2 
  
 == 
 = 
  
 ' 
 undefined 
 ' 
 ) 
  
 { 
  
 const 
  
 libUrl 
  
 = 
  
 ' 
 https 
 : 
 //developers.google.com/google-ads/scripts/docs/examples/oauth20-library'; 
  
 throw 
  
 Error 
 ( 
 ' 
 OAuth2 
  
 library 
  
 not 
  
 found 
 . 
  
 Please 
  
 take 
  
 a 
  
 copy 
  
 of 
  
 the 
  
 OAuth2 
  
 ' 
  
 + 
  
 ' 
 library 
  
 from 
  
 ' 
  
 + 
  
 libUrl 
  
 + 
  
 ' 
  
 and 
  
 append 
  
 to 
  
 the 
  
 bottom 
  
 of 
  
 this 
  
 script 
 . 
 ' 
 ); 
  
 } 
  
 const 
  
 tokenUrl 
  
 = 
  
 ' 
 https 
 : 
 //api.twitter.com/oauth2/token'; 
  
 authUrlFetch 
  
 = 
  
 OAuth2 
 . 
 withClientCredentials 
 ( 
  
 tokenUrl 
 , 
  
 TWITTER_CONSUMER_KEY 
 , 
  
 TWITTER_CONSUMER_SECRET 
 ); 
 } 
 /** 
 * Retrieves Tweets for a specific search term. 
 * @param {string} searchTerm The search term to look for. 
 * @param {string=} opt_geocode Limit returned Tweets to those from users in a 
 *     location. Specified in the form "latitude,longitude,radius", where radius 
 *     is in either "km" or "mi". e.g. 37.781157,-122.398720,1mi 
 * @param {string=} opt_mode Optional preference for recent, popular or mixed 
 *     results. Defaults to 'mixed', other options are 'recent' and 'popular'. 
 * @return {Object} The statuses results object, see: 
 *     https://dev.twitter.com/rest/reference/get/search/tweets for details. 
 */ 
 function 
  
 getTweetsForSearch 
 ( 
 searchTerm 
 , 
  
 opt_geocode 
 , 
  
 opt_mode 
 ) 
  
 { 
  
 const 
  
 mode 
  
 = 
  
 opt_mode 
  
 || 
  
 ' 
 mixed 
 ' 
 ; 
  
 const 
  
 url 
  
 = 
  
 ' 
 https 
 : 
 //api.twitter.com/1.1/search/tweets.json?q=' + 
  
 encodeURIComponent 
 ( 
 searchTerm 
 ) 
  
 + 
  
 ' 
& result_type 
 = 
 ' 
  
 + 
  
 mode 
 ; 
  
 if 
  
 ( 
 opt_geocode 
 ) 
  
 { 
  
 url 
  
 += 
  
 ' 
 geocode 
 = 
 ' 
  
 + 
  
 opt_geocode 
 ; 
  
 } 
  
 const 
  
 response 
  
 = 
  
 authUrlFetch 
 . 
 fetch 
 ( 
 url 
 ); 
  
 return 
  
 JSON 
 . 
 parse 
 ( 
 response 
 . 
 getContentText 
 ()); 
 } 
 // Paste in OAuth2 library here, from: 
 // https://developers.google.com/google-ads/scripts/docs/examples/oauth20-library 
Create a Mobile Website
View Site in Mobile | Classic
Share by: