Trello 附件下载返回 401 未经授权请求
Trello attachment download returning 401 unauthorized permission requested
我有一个简单的脚本,它尝试下载包含“模板”作为前缀并且是 svg 的卡片上的附件。
我用 https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=MYKEY 生成了我的令牌。
我知道访问 S3 公告https://community.developer.atlassian.com/t/authenticated-access-to-s3/40647。
trello.get("/1/lists/{idList}/cards", (err, data) => {
for (const card of data) {
trello.get("/1/cards/" + card.id + "/attachments", (err, data) => {
for (const file of data) {
if (file.mimeType != "image/svg+xml") {
continue;
}
const prefix = file.name.split("-")[0];
if (prefix === "template") {
trello.get(
"/1/cards/" +
card.id +
"/attachments/" +
file.id +
"/download/" +
file.name,
(err, data) => {
console.log(data);
}
);
}
}
});
}
});
然后我收到 401 未经授权的请求请求,我不确定为什么。这与我的 trello 订阅(14 天试用)或 trello 中的某些设置有关吗?我错过了什么?
谢谢
答案是不要使用 node-trello API 包装器。包装器通过查询参数传递身份验证。此特定下载 url 不支持,显示在此处 https://community.developer.atlassian.com/t/update-authenticated-access-to-s3/43681。
const response = await axios.get(
"https://api.trello.com/1/cards/" +
card.id +
"/attachments/" +
file.id +
"/download/" +
file.name, // file.url
{
headers: {
Authorization:
'OAuth oauth_consumer_key="' +
TRELLO_SECRET_KEY +
'", oauth_token="' +
TRELLO_TOKEN +
'"',
},
}
);
我有一个简单的脚本,它尝试下载包含“模板”作为前缀并且是 svg 的卡片上的附件。
我用 https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&key=MYKEY 生成了我的令牌。
我知道访问 S3 公告https://community.developer.atlassian.com/t/authenticated-access-to-s3/40647。
trello.get("/1/lists/{idList}/cards", (err, data) => {
for (const card of data) {
trello.get("/1/cards/" + card.id + "/attachments", (err, data) => {
for (const file of data) {
if (file.mimeType != "image/svg+xml") {
continue;
}
const prefix = file.name.split("-")[0];
if (prefix === "template") {
trello.get(
"/1/cards/" +
card.id +
"/attachments/" +
file.id +
"/download/" +
file.name,
(err, data) => {
console.log(data);
}
);
}
}
});
}
});
然后我收到 401 未经授权的请求请求,我不确定为什么。这与我的 trello 订阅(14 天试用)或 trello 中的某些设置有关吗?我错过了什么?
谢谢
答案是不要使用 node-trello API 包装器。包装器通过查询参数传递身份验证。此特定下载 url 不支持,显示在此处 https://community.developer.atlassian.com/t/update-authenticated-access-to-s3/43681。
const response = await axios.get(
"https://api.trello.com/1/cards/" +
card.id +
"/attachments/" +
file.id +
"/download/" +
file.name, // file.url
{
headers: {
Authorization:
'OAuth oauth_consumer_key="' +
TRELLO_SECRET_KEY +
'", oauth_token="' +
TRELLO_TOKEN +
'"',
},
}
);