ValidationError:订阅不可用或找不到。许可失败
Posted
技术标签:
【中文标题】ValidationError:订阅不可用或找不到。许可失败【英文标题】:ValidationError: Subscription is unusable or cannot be found. License failed 【发布时间】:2020-08-07 08:15:34 【问题描述】:我正在尝试创建一个服务,它将成为我的前端框架和快门库存之间的中间人。我在尝试授权图像时遇到问题,其中显示我的订阅不可用或找不到。我完全按照文档所说的做了,我不知道我错过了什么。
let sstk = require("shutterstock-api");
sstk.setSandbox(true);
sstk.setAccessToken(process.env.SHUTTERSTOCK_TOKEN);
// Instantiate the shutterstock images api
const imagesApi = new sstk.ImagesApi();
// Instantiate the shutterstock users api
const usersApi = new sstk.UsersApi();
// Creates the body to send to shutterstock
const body =
images: imageIds.map((imageId) =>
return
image_id: imageId,
price: 0,
metadata:
customer_id: "0",
,
;
),
;
// Get subscription so we can grab the subscription id
usersApi
.getUserSubsciptionList()
.then(( data ) =>
const subscription_id = data[0].id;
const queryParams =
format: "jpg",
size: "huge",
subscription_id,
;
// If we successfully get the subscription id then license the images
imagesApi
.licenseImages(body, queryParams)
.then(( data ) =>
console.log("licensedImages", data);
// Check if there was an error on any of the images
let numOfErrors = 0;
data.forEach((image) =>
if (image.error)
numOfErrors += 1;
);
// If some of the images were successful
if (numOfErrors > 0 && numOfErrors < data.length)
return errorHandler
// If all the images failed
else if (numOfErrors > 0)
return errorHandler
// If there are no errors send back the data to the frontend to manipulate it how it needs
return res.status(200).send(data);
)
.catch((err) =>
// If license error wasn't handled by Shutterstock
console.error(err);
return errorHandler
);
)
.catch((error) =>
// If subscription error wasn't handled by Shutterstock
console.error(error);
return errorHandler
);
状态码为 200 的记录响应
licensedImages [ exports
image_id: id,
error:
'ValidationError: Subscription is unusable or cannot be found. License failed' ]
我不确定为什么它不起作用。我已经记录了我的订阅 ID 和图像 ID,它们是正确的。
格式和大小确实与订阅中可用的格式相匹配。
订阅是开发者平台许可。
我错过了什么?
这是在 expressjs api 上
【问题讨论】:
【参考方案1】:您的 Shutterstock 帐户似乎同时拥有“开发者平台”订阅和标准用户订阅,这会导致 api 出现问题。您的代码是正确的 - 问题在于在许可流程中验证您的订阅。一旦我们正确归因于您的不同订阅,我们将通过电子邮件与您联系。
【讨论】:
更正 - 你能联系到shutterstock.com/help吗?只是想确认我们有最适合您的联系人。 是的,我刚打电话给他们,他们说他们正在为此提出问题。以上是关于ValidationError:订阅不可用或找不到。许可失败的主要内容,如果未能解决你的问题,请参考以下文章
Java HQL org.hsqldb.HsqlException:用户缺少权限或找不到对象