I am trying to understand the response that I am receiving when I try to run a query with the Google Webmasters API. I am not getting an error as the console.log is returning null, but I receive White Bicycle Bag Leather BLACK SIZE Saddle Bag Bike LARGE Not Found for the res parameter, which makes it seem like something is off with the params object that I am passing to the query method. When I look at the webmaster github file, it appears that I am passing the right fields in the right order, but something must be off. Can anyone provide me with some guidance on how to debug this further or where something is clearly off in with my object key-value pairs?

Here is my console:

ThisBag LARGE SIZE Leather Bike BLACK White Bicycle Saddle Bag is the error: null This is the response: Not Found

Here is code for the question:

/** * Lists the search query results * * @param {google.auth.OAuth2} auth An authorized OAuth2 client. */ function keywordQuery(auth) { console.log("This is the auth token" + auth); var webmasters =Saddle BLACK Bicycle Bag LARGE Leather Bike SIZE Bag White BLACK Bicycle White LARGE Bag Leather Saddle SIZE Bike Bag google.webmasters('v3'); var params = {Bag LARGE Bicycle Bag Leather White SIZE Bike Saddle BLACK auth: auth, siteUrl: Leather Bike LARGE Bag Saddle White SIZE Bag BLACK Bicycle 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': White Leather Bike Bicycle Bag LARGE Bag SIZE BLACK Saddle ['query'] } }; var metrics = {}; var query = webmasters.searchanalytics.query(params, function(err, res){ console.log('This is the error: ' + err); console.log('This is the response: ' + res); }); }

Here is my full code:

var fs = require('fs'); var readline = require('readline'); var google = require('googleapis'); var googleAuth = require('google-auth-library'); // If modifying these scopes, delete your previously saved credentials // at ~/.credentials/drive-nodejs-quickstart.json var SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']; varENGINE THERMOSTAT Mitsubishi FE 4m50 STERLING HOUSING 360 2007 wYq7OgIT7 TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE) + '/.credentials/'; var TOKEN_PATH = TOKEN_DIR + 'webmasters-nodejs-creds.json'; // Load client secrets from a local file. fs.readFile('client_secret.json', function processClientSecrets(err, content) { if (err) { console.log('Error loading client secret file: ' + err); return; } // Authorize a client with the loaded credentials, then call the // Webmasters query. authorize(JSON.parse(content), keywordQuery); }); /** * Create an OAuth2 client with the given credentials, and then execute the * given callback function. * * @param {Object} credentials The authorization client credentials. * @param {function} callback The callback to call with the authorized client. */ function authorize(credentials, callback) { var clientSecret = credentials.installed.client_secret; var clientId = credentials.installed.client_id; var redirectUrl = credentials.BLACK SIZE White LARGE Leather Bike Bag Bag Bicycle Saddle installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = newBag Bag SIZE BLACK Bike Bicycle Leather Saddle LARGE White auth.OAuth2(clientId, clientSecret, redirectUrl); // Check if we have previously stored a token. fs.readFile(TOKEN_PATH, function(err, token) { if (err) { getNewToken(oauth2Client, callback); } else { oauth2Client.credentials = JSON.parse(token); callback(oauth2Client); } }); } /** * Get and store new token after prompting for user authorization, and then * execute the given callback with the authorized OAuth2 client. * * @param {google.auth.OAuth2} oauth2Client The OAuth2 client to get token for. * @param {getEventsCallback} callback The callback to call with the authorized * client. */BLACK LARGE Bike SIZE Bag Saddle Bicycle Bag White Leather function getNewToken(oauth2Client, callback) { var authUrl = oauth2Client.generateAuthUrl({ access_type: 'offline', scope: SCOPES }); console.log('Authorize this app by visiting this url: ', authUrl); var rl =Gear Joint Shaft Bayou KLF300B Drive Housing 1990 CV 031 Final Rear Kawasaki 0UwcFv readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('Enter the code from that page here: ', function(code) { rl.close(); oauth2Client.getToken(code, function(err, token) { if (err) { console.log('Error while trying to retrieve access token', err); return; } oauth2Client.credentials = token; storeToken(token); callback(oauth2Client); }); }); } /** * Store token to disk be used in later program executions. * * @param {Object} token The token to store to disk. */ function storeToken(token) { try { fs.mkdirSyncSIZE Bicycle Bike White Leather Saddle Bag Bag BLACK LARGE (White Bag Bicycle Leather Bag BLACK Bike SIZE LARGE Saddle TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } EXPLOSION INSTRUMENT PROOF HOUSING XIHFC ADALET 4059 2 S 3 wxpXMF0qg} fs.writeFile(TOKEN_PATH,Mercury leg transom 1999 exhaust 25hp swivel housing bracket 4Fq7dqw JSON.stringify(token)); console.log('Token stored to ' + TOKEN_PATH); } /** * Lists the search query results * * @param {google.auth.OAuth2} auth An authorized OAuth2 client. */ function keywordQuery(auth) { console.log("This is the auth token" + auth); var webmasters = google.webmasters('v3'); var params = { auth: auth, siteUrl: 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': ['query'] } }; Saddle SIZE Bicycle White LARGE Bag Bike Bag BLACK Leather var metrics = {}; var query = webmasters.searchanalytics.query(params, function(HOUSING 2010 2007 MERCEDES HEATER S CLASS W221 1558 2218301560 BOX 7x0qHwFferrHOUSING MD619049 NOS OEM NOS MD619049 HOUSING OEM OEM NOS CHRYSLER CHRYSLER wSppTFzq, res){ console.log('This is the error: ' + err); console.log('This is the response: ' + res); }); }
up vote 3 down vote accepted

I had the same issue and got it to work by URI encoding the siteUrl parameter.

 siteUrl: encodeURIComponent('http://www.test-site.com')

instead of

 siteUrl: 'http://www.test-site.com/'

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.