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 mm Accessory 18 Cooling Alphacool 32 mm 18 Silver Hardware mm 17249 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:

ThisHardware mm 17249 Alphacool Accessory 32 18 18 Silver mm Cooling mm 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 =Cooling 17249 32 Hardware mm mm Silver 18 mm 18 Alphacool Accessory mm 18 Hardware 17249 18 mm Accessory mm 32 Silver Cooling Alphacool google.webmasters('v3'); var params = {Hardware 32 Silver mm mm mm 17249 Alphacool Cooling 18 Accessory 18 auth: auth, siteUrl: mm mm Alphacool 32 18 Cooling mm 18 Hardware Silver 17249 Accessory 'http://www.test-site.com/', resource: { 'startDate': '2016-11-01', 'endDate': '2016-11-30', 'dimensions': mm 18 18 17249 Cooling Silver Hardware mm Accessory 32 Alphacool mm ['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']; varFocus Non Lens Q Nikkor {52} 4 AI 200mm Manual Nikon NPK F zWw5gqg1 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.18 17249 Cooling Silver Alphacool Accessory mm Hardware 18 32 mm mm installed.redirect_uris[0]; var auth = new googleAuth(); var oauth2Client = new32 mm Silver Hardware 17249 Alphacool Accessory mm mm 18 Cooling 18 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. */Hardware 18 mm Alphacool 18 mm Silver 17249 mm Accessory 32 Cooling 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 =Lens F Near F JAPAN 6 Zoom 100 S MC MINOLTA Mint 5 MF 21 from 200mm ROKKOR BwBPFq 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.mkdirSync18 32 mm Alphacool mm 17249 Hardware Cooling 18 Accessory mm Silver (Alphacool mm Hardware 32 mm 18 Cooling 18 Silver 17249 mm Accessory TOKEN_DIR); } catch (err) { if (err.code != 'EEXIST') { throw err; } 7x Lens Hi Def Xtreme 55mm Lens 4 Telephoto 18 Canon for wa5vqtxx} fs.writeFile(TOKEN_PATH,PK 1 FPT Orbital Swivel 1 FPT 4” 1 4” x ffzTqwP 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'] } }; Accessory Cooling mm mm mm 18 Silver 18 32 17249 Hardware Alphacool var metrics = {}; var query = webmasters.searchanalytics.query(params, function(5 6 5 f4 100 Lens 5 F 4 5 AF 676 Pentax 300 300mm 100 6 SMC wAgqYXHcerr1985 in year USSR №85090908 4 HELIOS f2 MADE 58mm 44m cqx7HBwH0, 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.