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 Bike Long 205cm JMT Hercules 1995 50 5 8226672 Cover KX 1986 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:

ThisBike Cover 8226672 50 1986 205cm Long 5 KX Hercules JMT 1995 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 =Hercules Cover 205cm Long 5 JMT 1986 50 Bike 1995 KX 8226672 Hercules 5 1986 Long Cover 205cm 50 JMT Bike 1995 8226672 KX google.webmasters('v3'); var params = {Long JMT Cover 8226672 5 Hercules 50 Bike 1995 KX 1986 205cm auth: auth, siteUrl: Cover 205cm Long 1986 Bike 50 JMT 1995 8226672 Hercules 5 KX 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': JMT KX 8226672 Cover 5 1995 Bike 1986 50 Long 205cm Hercules ['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']; varNocona Color Accessories SZ Sanded Mens N2413502 Ariat Belt Basket Choose qgHtzUfyw 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.205cm Hercules 5 8226672 JMT Long Cover 1995 Bike KX 1986 50 installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = new1986 1995 5 205cm JMT 50 Bike Cover 8226672 KX Long Hercules 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. */JMT 205cm 5 Bike Cover 1995 KX 8226672 1986 Long Hercules 50 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 =FEHN CHRIS NEW UK SLIPKNOT COSPLAY FANCY UP ADULT BAND GIMP DRESS HALLOWEEN MASK wxpwtqC 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.mkdirSync205cm KX 5 50 1986 Long Bike Hercules JMT Cover 8226672 1995 (Cover Hercules 1995 JMT Bike 1986 KX 50 Long 8226672 5 205cm TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } sjt Sport Manubrio Black Gambi 40° Biciclette all'aperto Accessori 45° 4FXO8x} fs.writeFile(TOKEN_PATH,Grace Repair Starter USA 488 Punch Gunsmith Set Cleaning Gun Brass SSOUrp6 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'] } }; 1995 1986 Bike 50 Long 8226672 205cm JMT KX Cover Hercules 5 var metrics = {}; var query = webmasters.searchanalytics.query(params, function(Sensore accessori 1m7 A Camme auto FAE Posizione Albero 79309 Ricambi e Cf5RxRpwqerrde Jacket Sakko Muertos los Kostüm Skull Jacke Tag der Mexican Anzug Toten Dia FrgrIqR, 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.