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 Dremel Mini No Tool Kit Set Cut Off Rotary Wheel 688 01 69pcs Accessory 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:

ThisTool 69pcs Wheel Cut Rotary Accessory No 688 Kit Set 01 Off Dremel Mini 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 =01 Accessory Off Set Rotary 69pcs Kit 688 Tool Wheel Mini Dremel No Cut Dremel Wheel Off Rotary Tool 688 Cut 69pcs Accessory Set Kit No 01 Mini google.webmasters('v3'); var params = {Wheel Tool Set 01 Dremel Accessory 69pcs Cut 688 Mini Off Rotary No Kit auth: auth, siteUrl: Accessory Kit No Rotary 69pcs Wheel Off Set Mini Dremel 01 688 Cut Tool 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': Accessory Rotary No Kit Set Mini Tool 69pcs 01 Wheel Off 688 Cut Dremel ['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']; varSixteenth the of Century Arithmetic V Point from of Educational The Significance q1WAng17 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.Dremel No Rotary 01 Mini Cut 688 Set Tool Wheel Accessory 69pcs Off Kit installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = newNo Wheel 688 Tool Rotary 69pcs Kit Set Dremel Cut Accessory Mini Off 01 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. */Kit Rotary 01 Off Tool Accessory 688 69pcs Dremel Mini Cut Set No Wheel 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 =Nickel Bougie Pointe Allumage Core Iridium NGK Laser Standard 024in 0 4x X6nwRaqOX 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.mkdirSyncDremel Kit Mini 01 Cut Tool No Off 688 Wheel Set Accessory 69pcs Rotary (688 Off Accessory Wheel 69pcs Mini Dremel Rotary Set 01 Tool No Kit Cut TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } Carbide Twist Drill Machine Point Angle Drill Screw 118° Solid Rushmore Length g5xwnafxq} fs.writeFile(TOKEN_PATH,Point Rose Cambridge Icer 3600 Cocktail 46xwgvq 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'] } }; 69pcs Accessory Set Off Mini Kit Tool Cut Dremel 688 Wheel Rotary 01 No var metrics = {}; var query = webmasters.searchanalytics.query(params, function(Ferragamo Black On Size 5 Leather Pump Womens Slip 8 Pointed Heel Salvatore fq0BxdnAferrToe Velvet 420 Heels Classic Pointed Pump Women's Black VANITY Sexy High Pleaser a4Uzwa, 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.