【问题标题】:Error: getaddrinfo EAI_AGAIN api.spotify.com:443错误:getaddrinfo EAI_AGAIN api.spotify.com:443
【发布时间】:2019-04-06 07:30:58
【问题描述】:

虽然我正在将Spotify API 集成到Google Assistant 应用程序中,实现Account Linking

getaddrinfo EAI_AGAIN api.spotify.com:443

尽管 API 实现似乎没有任何问题,但控制台中一直出现上述错误。访问令牌已正确创建和接收,客户端和秘密 ID 已填写,没有任何拼写错误。此外,我在Spotify Console (https://developer.spotify.com/console/get-artist-albums/) 上测试了 API 调用。没有发现错误。它从 Spotify 服务器获取预期数据,因此它不应与 Account LinkingSpotify Server 相关。我自己创建的代码如下:我认为spotify-web-api-nodenodenpmfirebase-functions 周围有问题??我最近做了节点版本控制,所以我可能做错了什么。

  • 节点版本:v7.9.0
  • spotify-web-api-node: ^4.0.0
  • firebase 功能:^2.0.3
  • npm 版本:6.4.1
  • 添加引擎:{ "node": "8" } // 这是在 package.json 中使用 asyn 和 await

app.intent(SomeIntent, async (conv, params) => {
    console.log('user info', JSON.stringify(conv.user));
    conv.ask('lets play'); //okay
    const access_token = conv.user.access.token || ''; // okay
    console.log('Your TOKEN information here: ' + access_token); // okay
    spotifyApi.setAccessToken(access_token); // should be set correctly
    let data = await findMusic(); // error in the findMusic func
    conv.ask('found this song。', data.name); //  so no data.name
});

function findMusic() {
    return spotifyApi.getArtistAlbums('43ZHCT0cAZBISjO8DG9PnE').then((data) => {
        console.log('artist song', data.body);
        return data.body; //this does not return because error is produced
    }).catch(err => {
        console.log('Something went wrong!', err);
        return err; // this error is WebapiError: getaddrinfo EAI_AGAIN api.spotify.com:443
    });
}

更新

@Nick-Felker 在下面的评论中提到,只能通过付费计划进行外部呼叫。所以这可能是解决方案(因为我没有使用付费计划,所以现在没有证明可以工作。下面的详细解释引用自An answer comment from another StackOverflow post

Spark 计划仅允许向 Google 拥有的服务发出出站网络请求。配额内允许入站调用请求。在 Blaze 计划中,Cloud Functions 提供永久免费层。每月免费提供前 2,000,000 次调用、400,000 GB-sec、200,000 CPU-sec 和 5 GB 的 Internet 出口流量。您只需为超出此免费配额的使用量付费。定价基于调用总数和计算时间。计算时间会根据为函数配置的内存量和 CPU 量而变化。使用限制也通过每日和 100 个配额来实施。如需更多信息,请参阅Cloud Functions Pricing

更新

就我而言,上述解决方案有效。希望这篇文章对其他人有所帮助!

【问题讨论】:

  • EAI_AGAIN 是 DNS 查找错误!!更多详情可以在stackoverflow.com/a/40182520/6611700找到
  • @riyaz-ali 感谢您的回复。我正在执行“npm install latest-version”以查看是否可行。但似乎不起作用....你认为我还应该做什么
  • 您使用的是 Firebase 的 Blaze 计划吗? Firebase 在免费层阻止外部网络调用。
  • @NickFelker Firebase 的当前计划是 Spark,所以是的,它是一个免费计划。所以你的意思是如果我改用 Blaze 计划,你认为这可以解决吗?然后我会在稍后切换到另一个帐户时对此进行测试。另外你认为有一些可能的线索可以指出这个错误吗?
  • 是的,我浏览了其他文章和 Firebase 价格页面,人们也提到了这一点。 stackoverflow.com/a/43645498/9363250我会在测试后立即支持您的评论。非常感谢。

标签: javascript node.js spotify google-assistant-sdk


【解决方案1】:

由于网络问题,我收到此错误。并在连接时解决

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 2020-01-25
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2020-06-12
    相关资源
    最近更新 更多