phongyewtong
phongyewtong

Reputation: 5309

Shopify Admin API not working on Google hosted server but works on localhost

My Shopify Admin API not working on Google hosted server but works on localhost. I wonder what am I missing.

I got my order data on localhost but when I upload the code to google server it doesn't work.

I am working on a private app for my shop.

no luck trying to make this works.

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

const Shopify = require('shopify-api-node');
 
const shopify = new Shopify({
  shopName: 'tinyrabbithole',
  apiKey: 'your-api-key',
  password: 'your-app-password'
  // accessToken: ""
});

shopify.on('callLimits', limits => console.log(limits));
// Take the text parameter passed to this HTTP endpoint and insert it into the
// Realtime Database under the path /messages/:pushId/original
exports.getData = functions.https.onRequest((req, res) => {

shopify.order.list({ limit: 5 })
    .then( orders => {
  		console.log(orders);
  		return res.status(200).send(orders);
	})
    .catch( err => {
  		console.log(err);
  		return res.status(303).send(err);
	})
});

    { RequestError: getaddrinfo ENOTFOUND tinyrabbithole.myshopify.com tinyrabbithole.myshopify.com:443
    at ClientRequest.req.once.err (/user_code/node_modules/shopify-api-node/node_modules/got/index.js:182:22)
    at ClientRequest.g (events.js:292:16)
    at emitOne (events.js:101:20)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:310:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at connectErrorNT (net.js:1025:8)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9)
  name: 'RequestError',
  code: 'ENOTFOUND',
  host: undefined,
  hostname: 'tinyrabbithole.myshopify.com',
  method: 'GET',
  path: '/admin/orders.json?limit=5',
  protocol: 'https:',
  url: undefined }

Upvotes: 0

Views: 976

Answers (3)

norahCii
norahCii

Reputation: 139

Configure firewall to allow outgoing conections and use an another DNS if still unreachable. In case you believe you have permission to make outgoing call.

Upvotes: -1

yash rai
yash rai

Reputation: 16

This answer helped me

Just add this lines:

rejectUnauthorized: false,//add when working with https sites
requestCert: false,//add when working with https sites
agent: false,//add when working with https sites

Upvotes: 0

Bryan Massoth
Bryan Massoth

Reputation: 1159

I'll drop this as an answer instead of leaving it in the comments. If you see a getaddrinfo ENOTFOUND error, first make sure you are on the right payment plan. The free tier doesn't allow outgoing API calls.

Upvotes: 2

Related Questions