IBM Watson Visual Recognition (NodeJS) - 错误代码 403:禁止访问:由于凭据无效,访问被拒绝
IBM Watson Visual Recognition (NodeJS) - Error code 403 : Forbidden: Access is denied due to invalid credentials
我目前正在以下环境中使用 Watson Visual Recognition API,但收到 403 无效凭据错误。
供您参考,我在 VMware Workstation 15.5.1 中的 Ubuntu Server 16.04.6 LTS 上 运行。
Node js 代码来自 URL 下面的 IBM Cloud 网页,我在我的凭据中输入了 api 密钥。
我已经使用以下命令并按照 the guide.
安装了 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'
}
}
如果您能帮助我找到解决此问题的方法,我们将不胜感激。
这是“精简版”(免费)计划吗?使用该计划,您将被限制在一个月内用于训练和标记的 1000 张图像。您很可能已达到该限制。将您的帐户升级到标准版将保留任何训练有素的分类器,并允许尽可能多地使用。
如果轻量套餐超额不是您的问题,请检查您是否在 url: url
指定了基础 URL,并且 url 与 API 您使用的密钥。详情见API reference。
尝试使用精简版帐户:
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))
}
});
我目前正在以下环境中使用 Watson Visual Recognition API,但收到 403 无效凭据错误。 供您参考,我在 VMware Workstation 15.5.1 中的 Ubuntu Server 16.04.6 LTS 上 运行。 Node js 代码来自 URL 下面的 IBM Cloud 网页,我在我的凭据中输入了 api 密钥。 我已经使用以下命令并按照 the guide.
安装了 npmnpm 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'
}
}
如果您能帮助我找到解决此问题的方法,我们将不胜感激。
这是“精简版”(免费)计划吗?使用该计划,您将被限制在一个月内用于训练和标记的 1000 张图像。您很可能已达到该限制。将您的帐户升级到标准版将保留任何训练有素的分类器,并允许尽可能多地使用。
如果轻量套餐超额不是您的问题,请检查您是否在 url: url
指定了基础 URL,并且 url 与 API 您使用的密钥。详情见API reference。
尝试使用精简版帐户:
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))
}
});