IBM Watson Visual Recognition (NodeJS) - код ошибки 403. Запрещено: доступ запрещен из-за неверных учетных данных - PullRequest
0 голосов
/ 21 февраля 2020

В настоящее время я использую Watson Visual Recognition API в приведенной ниже среде, но получаю 403 неверную учетную ошибку. Для вашей информации я запускаю это на Ubuntu Server 16.04.6 LTS в VMware Workstation 15.5.1. Код Node js взят с веб-страницы IBM Cloud по указанному ниже URL-адресу, и я ввел ключ api в свои учетные данные. Я уже установил npm, используя следующую команду и руководство .

npm install --save watson-developer-cloud
var VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3');
var fs = require('fs');

var visualRecognition = new VisualRecognitionV3({
  version: '2018-03-19',
  iam_apikey: 'Hy-N8Lxxxxxxxxxxxxxxxxxxxxxxxxxxxx'  // used api key in my credentials
});

var url= 'https://watson-developer-cloud.github.io/doc-tutorial-downloads/visual-recognition/640px-IBM_VGA_90X8941_on_PS55.jpg';

var params = {
  url: url,
};

visualRecognition.classify(params, function(err, response) {
  if (err) {
    console.log(err);
  } else {
    console.log(JSON.stringify(response, null, 2))
  }
});

Когда я выполняю команду node {filename}.js в командной строке, я получаю сообщение об ошибке сообщение как ниже. Для этой ошибки код 403, и когда я ввожу неправильный ключ API, появляется код ошибки 400, поэтому я не думаю, что ошибка связана с неправильным ключом API.

Forbidden: Access is denied due to invalid credentials.
    at formatError (/home/byungmin/visual_recognition/node_modules/ibm-cloud-sdk                                       -core/lib/requestwrapper.js:111:17)
    at /home/byungmin/visual_recognition/node_modules/ibm-cloud-sdk-core/lib/req                                       uestwrapper.js:259:19
    at processTicksAndRejections (internal/process/task_queues.js:94:5) {
  name: 'Forbidden',
  code: 403,
  message: 'Access is denied due to invalid credentials.',
  body: '{"code":403,"error":"Forbidden"}',
  headers: {
    'content-type': 'application/json',
    'content-length': '34',
    'strict-transport-security': 'max-age=31536000; includeSubDomains;',
    'x-edgeconnect-midmile-rtt': '224',
    'x-edgeconnect-origin-mex-latency': '49',
    date: 'Fri, 21 Feb 2020 12:56:10 GMT',
    connection: 'close'
  }
}

Приветствуется, если вы можете мне помочь найти решение этой проблемы.

Ответы [ 3 ]

1 голос
/ 24 февраля 2020

Попробуйте это для облегченного аккаунта:

    const fs = require('fs');
    const { IamAuthenticator } = require('ibm-watson/auth');
    var VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3');


        var visualRecognition = new VisualRecognitionV3({
          authenticator: new IamAuthenticator({
            apikey: 'Hy-N8Lxxxxxxxxxxxxxxxxxxxxxxxxxxxx',

          }),
          url: 'https://watson-developer-cloud.github.io/doc-tutorial-downloads/visual-recognition/640px-IBM_VGA_90X8941_on_PS55.jpg',
        });

var params = {
  url: url,
};

visualRecognition.classify(params, function(err, response) {
  if (err) {
    console.log(err);
  } else {
    console.log(JSON.stringify(response, null, 2))
  }
});
0 голосов
/ 22 февраля 2020

Если перерасход плана Lite не является вашей проблемой, убедитесь, что вы указали базовый URL-адрес на url: url, и этот URL-адрес соответствует указанному в учетных данных для ключа API, который вы использовали. Подробнее см. API .

0 голосов
/ 22 февраля 2020

Является ли это «облегченным» (бесплатным) планом? С этим планом вы будете ограничены 1000 изображений для обучения и пометки в сочетании в месяц. Скорее всего, вы достигли этого предела. Обновление вашей учетной записи до Standard сохранит все обученные классификаторы и позволит использовать их столько, сколько вы захотите.

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