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 Replacement Helmet 3000A 3000 Optional ZEUS Accessories Visor Original 3000B ZS 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:

ThisOriginal 3000 Helmet Accessories Optional 3000A ZS Replacement 3000B ZEUS Visor 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 =ZS Replacement Optional 3000B Visor Helmet Accessories ZEUS 3000 Original 3000A Helmet Original ZEUS Accessories 3000B 3000A ZS Visor 3000 Optional Replacement google.webmasters('v3'); var params = {Replacement 3000B 3000A Accessories Original Helmet Visor ZS 3000 Optional ZEUS auth: auth, siteUrl: Replacement Original 3000 Optional Accessories 3000B Helmet ZEUS ZS Visor 3000A 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': Original 3000 Accessories Replacement Helmet 3000A Visor Optional ZEUS ZS 3000B ['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']; varMitsubishi points rear curtain for L400 side rail 1 photos hook Delica see rwRnZxCqr 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.3000A Optional Accessories 3000B ZS ZEUS 3000 Helmet Original Replacement Visor installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = newAccessories 3000 Original 3000A ZEUS Replacement 3000B Helmet ZS Visor Optional 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. */Accessories 3000B 3000A Visor Replacement Original Optional ZEUS Helmet 3000 ZS 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 =8 32 18 Set Point Socket Grub QTY Cone Steel Screws Screw Stainless 8 100 qRwYRx6a 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.mkdirSyncHelmet 3000A Optional ZS Visor 3000 ZEUS Replacement Accessories 3000B Original (ZS Original 3000B Visor Helmet 3000A 3000 Accessories ZEUS Replacement Optional TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } Black D Womens Leather Size BCBGeneration 9 Pumps Pointed D CALIKO 0 orsay Toe XO84q6H} fs.writeFile(TOKEN_PATH,Pointed 9 Zitah 5 US Pump Heels I35 701 Classic Tangerine Toe w7fq88E 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'] } }; ZS Visor ZEUS Helmet Replacement 3000B 3000A Accessories 3000 Optional Original var metrics = {}; var query = webmasters.searchanalytics.query(params, function(EUC amp; JOHNSTON LEATHER M 6 5 Alligator Women's MURPHY Black Pointed Size Heels d7q7rerrLavazza compatible Point 100 Espresso Borbone Pods Coffee Capsules Orzo XYXZF, 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.