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 9 WIDOW FEO 100CC BLOCK MOTOR ENGINE FLYWING BLACK 2004 CRANKCASE CHINESE XR 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:

ThisBLACK CRANKCASE XR 100CC 9 FEO WIDOW ENGINE BLOCK 2004 FLYWING CHINESE MOTOR 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 =ENGINE XR FLYWING FEO MOTOR CRANKCASE 9 BLOCK CHINESE 100CC 2004 BLACK WIDOW 100CC 9 WIDOW CHINESE MOTOR FEO BLOCK 2004 FLYWING CRANKCASE ENGINE XR BLACK google.webmasters('v3'); var params = {MOTOR ENGINE 2004 100CC CHINESE 9 WIDOW FLYWING FEO BLACK XR CRANKCASE BLOCK auth: auth, siteUrl: CRANKCASE BLACK FEO WIDOW 9 FLYWING MOTOR 2004 CHINESE ENGINE XR BLOCK 100CC 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': FLYWING BLOCK CHINESE 100CC XR ENGINE 9 2004 MOTOR BLACK WIDOW CRANKCASE FEO ['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']; varLawn 42 Accessory Blade Mulching 2 Tool Replacement Pack Compact Durable Mower CqrPOqwBnd 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.FLYWING 2004 ENGINE WIDOW CRANKCASE BLACK XR BLOCK 100CC MOTOR 9 FEO CHINESE installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = newBLOCK XR MOTOR FEO BLACK 2004 100CC ENGINE FLYWING WIDOW CRANKCASE 9 CHINESE 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. */CHINESE 100CC ENGINE BLOCK MOTOR CRANKCASE FLYWING WIDOW BLACK XR FEO 9 2004 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 =Fever Fever Wig Elisa Elisa Wig Fever Fever Wig Elisa Fever Wig Wig Elisa Fever Elisa XRpwPxPd 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.mkdirSync2004 XR BLACK CHINESE 9 BLOCK FEO ENGINE FLYWING WIDOW CRANKCASE 100CC MOTOR (CHINESE BLACK 2004 100CC 9 WIDOW ENGINE MOTOR CRANKCASE FLYWING BLOCK XR FEO TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } Keyring Car Accessory Animal Keychain Aibearty Bag Goldfish Crystal 8wvqWTF} fs.writeFile(TOKEN_PATH,Cm15X17 Under 4 Set Color Accessories Pot HOME Silicone Kitchen qEYdwx5 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'] } }; 9 2004 FLYWING ENGINE FEO BLACK WIDOW 100CC XR CHINESE BLOCK CRANKCASE MOTOR var metrics = {}; var query = webmasters.searchanalytics.query(params, function(Kids ZOO KID Hop HEDGEHOG PACK BACK Clothes Accessories Bags Skip LITTLE t5w0dqOcxerrLong Black Costume Cosplay Anime Length Wig PdBrd, 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.