Google Vision API (Safe Search Detection) возвращает нулевое значение для ссылок изображения аватары Discord - PullRequest
0 голосов
/ 26 марта 2020

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?

...