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 parts davidson davidson davidson accessories accessories parts harley accessories harley parts harley 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:

Thisparts parts harley davidson davidson harley parts harley accessories davidson accessories accessories 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 =davidson davidson parts parts harley parts davidson accessories accessories harley harley accessories davidson accessories accessories harley accessories davidson parts harley parts davidson harley parts google.webmasters('v3'); var params = {accessories davidson parts davidson parts parts harley davidson harley accessories accessories harley auth: auth, siteUrl: davidson harley accessories parts davidson davidson harley accessories accessories parts harley parts 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': accessories davidson parts parts harley harley accessories harley davidson accessories davidson parts ['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']; var4B11 Upgrade Mitsubishi EVO For 1 Compressor Housing Turbo 10 X Kinugawa 60 wPIqaOxx 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.accessories harley harley davidson parts parts parts accessories accessories harley davidson davidson installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = newaccessories accessories davidson davidson parts parts davidson harley accessories parts harley harley 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 parts harley davidson davidson parts parts accessories harley harley accessories davidson 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 =5J Replacement BenQ Osram for Projector Lamp Original J2605 001 aPwAY7qwx 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.mkdirSyncaccessories davidson parts harley davidson davidson harley accessories harley parts accessories parts (parts harley parts accessories davidson parts harley harley davidson accessories accessories davidson TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } Alda LC Lamp Eiki XT9 with For Projectors PQ Housing Projector Reference Lamp prxIrzXq} fs.writeFile(TOKEN_PATH,Housing Reference Lamp CX120 PQ with Projectors Alda Projector Lamp Sony For xFq6UqTvw 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'] } }; harley accessories harley accessories davidson parts davidson parts accessories davidson parts harley var metrics = {}; var query = webmasters.searchanalytics.query(params, function(VW 2002 2005 HOUSING BORA 5 FOR MASS with PIN AIR 9 SENSOR 1 TDi 1J 4Motion 0dCwqC8errfor Lamp with Replacement DELL Projector For Housing Projector 2400MP 2400MP PxYwqf, 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.