API Google Vision, в частности обнаружение безопасного поиска, работает для всех ссылок, кроме ссылок аватары Discord. Я не могу понять причину, почему это вообще произошло бы вообще. Ссылки на аватар png, которые я получаю по обычным png-ссылкам Discord api, должны работать так же, как и любая другая ссылка. Перенаправлений нет.
// outside the function
// the line below gives me the link to the user's profile pic
const avatarURL = msg.author.displayAvatarURL({format: 'png'});
console.log(avatarURL);
// example: https://cdn.discordapp.com/avatars/317782432151633922/b2266596347ced94c6f2974e03755388.png
const results = await detectSafeSearch(avatarURL);
msg.channel.send(`Explicit Results: ${results ? results.adult : 'No Results'}`);
msg.channel.send(`Explicit Confidence: ${results ? results.adultConfidence : 'No Results'}`);
async function detectSafeSearch(fileLink) {
const vision = require('@google-cloud/vision');
const imageAnnotator = new vision.ImageAnnotatorClient(
{ keyFilename: './vision.json' }
);
try {
const [result] = await imageAnnotator.safeSearchDetection(fileLink);
const detections = result.safeSearchAnnotation;
return detections;
} catch (error) {
console.log(error);
}
}
Как я уже сказал, это работает буквально для каждого адреса изображения, который я извлекаю из Google Images или любого другого веб-сайта. Это только тот случай, который дает мне Discord. Я привел пример ссылки, которую мне отправила Discord, пока я отлаживал эту проблему. Есть ли что-то особенное в этом конкретном типе ссылки, что делает его несовместимым с Google Vision API?