虽然我正在将Spotify API
集成到Google Assistant
应用中,并实现Account Linking
,
getaddrinfo EAI_AGAIN api.spotify.com:443
上面的错误一直在控制台中出现,尽管它似乎在工作,好像API实现没有问题。正确创建和接收了访问令牌,并填写了客户端ID和机密ID,没有任何错字。另外,我在Spotify Console
(https://developer.spotify.com/console/get-artist-albums/)上测试了API调用。找不到错误。它从Spotify服务器获取了预期的数据,因此它不应与Account Linking
和Spotify Server
相关。我自己创建的代码如下:我假设spotify-web-api-node
,node
,npm
或firebase-functions
周围有问题?我最近完成了节点版本控制,所以可能做错了。
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-秒,200,000 CPU-秒和5 GB的Internet出口流量。您只需为超出此免费分配量的使用量付费。定价基于调用总数和计算时间。计算时间根据为某个功能配置的内存和CPU数量而变化。使用限制也通过每日和100s配额来强制执行。有关更多信息,请参见Cloud Functions Pricing。
更新
就我而言,上述解决方案有效。希望本文能对其他人有所帮助!
答案 0 :(得分:1)
由于网络问题,出现此错误。并在连接时解决了