Shopify Admin API не работает на сервере Google, но работает на локальном хосте

My Shopify Admin API не работает на сервере Google, но работает на локальном хосте. Интересно, что мне не хватает.

Я получил данные своего заказа на локальном хосте, но когда я загружаю код на сервер Google, он не работает.

Я работаю над частным приложением для своего магазина.

не повезло, пытаясь заставить это работать.

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 }

person phongyewtong    schedule 11.05.2018    source источник
comment
Какую ошибку вы получаете в журнале Cloud Functions?   -  person Renaud Tarnec    schedule 11.05.2018
comment
обновил ошибку. @РеноТарнек   -  person phongyewtong    schedule 11.05.2018
comment
Судя по всему, у вас проблема с конечной точкой shopify. Что такое строка № 182 в вашем коде?   -  person Renaud Tarnec    schedule 11.05.2018
comment
я не могу найти эту строку. не уверен, изменились ли файлы при загрузке в firebase. единственный файл index.js, который я нашел, содержит всего 156 строк в узле shopify-api. Я использую этот github.com/MONEI/Shopify-api- node/blob/master/index.js @RenaudTarnec   -  person phongyewtong    schedule 11.05.2018
comment
Вы находитесь на правильном плане? Вы не можете совершать исходящие вызовы API на уровне бесплатного пользования.   -  person Bryan Massoth    schedule 11.05.2018
comment
Вы вызываете HTTPS-функцию getData из браузера, через cURL или из другого бэкэнда, не так ли? Таким образом, вы должны увидеть ошибку в журнале облачных функций на консоли Firebase. Какая там ошибка?   -  person Renaud Tarnec    schedule 11.05.2018
comment
@BryanMassoth хорошо замечен!   -  person Renaud Tarnec    schedule 11.05.2018


Ответы (1)


Я отброшу это как ответ, а не оставлю в комментариях. Если вы видите ошибку getaddrinfo ENOTFOUND, сначала убедитесь, что вы используете правильный тарифный план. Уровень бесплатного пользования не разрешает исходящие вызовы API.

person Bryan Massoth    schedule 11.05.2018