首页 > 解决方案 > 在使用带有 discord.js 的谷歌自定义搜索时,我收到了 400 个错误请求!我在这里做错了什么?

问题描述

我正在构建一个不和谐的机器人,它使用自定义搜索 api 在谷歌上搜索查询,但我收到了这个错误!这是我的代码,我做错了什么?

const Discord = require("discord.js");
const request = require("node-superfetch");
var fs = require('fs');

module.exports = {
    name: 'google',
    description: "searches google ",
    cooldown: 10,
    permissions: [],
 async execute(message, args, cmd, client, Discord)  {
    let googleKey = "XXXX";
    let csx = "be4b47b9b3b849a71";
    let query = args.join(" ");
    let result;

    if(!query) return message.reply("Please enter a Valid Query");
    result = await search(query);
    if (!result) return message.reply("Invalid Search");

    const embed = new Discord.MessageEmbed()
    .setTite(result.title) 
    .setDescription(result.snippet)
    .setImage(result.pagemap ? result.pagemap.cse_thumbnail[0].src : null)
    .setURL(result.link)
    .setColor(0x7289DA)
    .setFooter("Powered by Google")

    return message.channel.send(embed);

    async function search(query) {
        const { body } = await request.get("https://customsearch.googleapis.com/customsearch/v1").query({
            key: googleKey, cs: csx, safe: "off", q: query
        });

        if(!body.items) return null;
        return body.items[0];
        } 
    }
 }

错误消息:(节点:10944)UnhandledPromiseRejectionWarning:错误:400 错误请求在 Request._request(D:\Coding\FLASH\node_modules\node-superfetch\index.js:58:16)在 processTicksAndRejections(内部/进程/task_queues。 js:93:5) 在异步搜索 (D:\Coding\FLASH\commands\google.js:31:26) 在异步 Object.execute (D:\Coding\FLASH\commands\google.js:17:14) (node --trace-warnings ...用于显示警告的创建位置)(节点:10944) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 id:1)(节点:10944)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

标签: javascriptgoogle-apidiscord.jsgoogle-custom-search

解决方案


推荐阅读