как читать данные из apiResponse в машинописи Nodejs? - PullRequest
0 голосов
/ 14 июня 2019

Я хочу прочитать данные из вызова Googleapis. Я использую async-await. Но я не уверен, как читать данные, которые я получаю.

async function makeCall(params:String){
  const apiResponse = await goopleapi.particular.get(params);
  console.log(`not really sure how to read -- ${apiResponse}`;
  // problem is the log prints [object Object].
}

Как получить журнал печати [object Object] с фактическим содержанием ответа? В конечном счете, я хочу прочитать возвращение json - как мне это сделать? Спасибо.

На случай, если это важно. Я использую Firebase в качестве серверной части с Typescript

обновление 1

Рассматриваемый API предназначен для выставления счетов. Как в https://www.googleapis.com/auth/androidpublisher. Я звоню .purchases.products.get. И когда я пытаюсь разобрать ответ с JSON.parse(apiResponse), я получаю ошибку:

SyntaxError: Unexpected token o in JSON at position 1
    at JSON.parse (<anonymous>)
    at getItem (/srv/lib/index.js:31:69)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:145:8)

документация: https://developers.google.com/android-publisher/api-ref/purchases/products/get

обновление 2

Вот apiResponse, который мне нужно проанализировать в json. Я пытался использовать JSON.parse(apiResponse), но получил ошибку:

{ config: 
   { url: 'https://www.googleapis.com/androidpublisher/v2/applications/mypath',
     method: 'GET',
     paramsSerializer: [Function],
     headers: 
      { 'Accept-Encoding': 'gzip',
        'User-Agent': 'google-api-nodejs-client/2.0.0 (gzip)',
        Authorization: 'Bearer somecode',
        Accept: 'application/json' },
     params: {},
     validateStatus: [Function],
     retry: true,
     responseType: 'json' },
  data: 
   { kind: 'androidpublisher#productPurchase',
     purchaseTimeMillis: '111222333',
     purchaseState: 0,
     consumptionState: 1,
     developerPayload: '',
     orderId: 'some string',
     purchaseType: 0 },
  headers: 
   { 'alt-svc': 'quic=":111"; ma=33445566; v="a string"',
     'cache-control': 'private, max-age=0, must-revalidate, no-transform',
     connection: 'close',
     'content-encoding': 'gzip',
     'content-type': 'application/json; charset=UTF-8',
     date: 'Fri, 14 Jun 2019 12:40:12 GMT',
     etag: '"some string"',
     expires: 'Fri, 14 Jun 2019 12:40:12 GMT',
     server: 'GSE',
     'transfer-encoding': 'chunked',
     vary: 'Origin, X-Origin',
     'x-content-type-options': 'nosniff',
     'x-frame-options': 'SAMEORIGIN',
     'x-xss-protection': '1; mode=block' },
  status: 200,
  statusText: 'OK' }

Ошибка все та же, что и в «обновлении 1»

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Объект уже проанализирован. Ошибка в передаче json в JSON.parse (), который ожидает строку.

[объект Object] возвращается из метода объектов toString () в литерале шаблона, чтобы избежать этого: console.log ('Некоторая строка', apiResponse);

если проблема не устранена, попробуйте console.log (JSON.stringify (apiResponse))

0 голосов
/ 14 июня 2019

Шаблонные строки будут вызывать toString по частям.Вам нужно сделать

console.log('You need to pass it as a parameter', apiResponse)

Если вы хотите распечатать фактический объект на консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...