我一直试图将谷歌翻译API与我的redux应用程序集成,但我似乎无法让它工作。我已经下载了我的私钥并将它们保存到本地文件路径。当我运行示例代码时,它可以完美地工作。问题出现时,我试图调用translate
函数在我的异步还原,如下:
const projectId = '{my google cloud project id goes here}'
const keyFilename = '{the full path to my private key goes here}'
const translate = new Translate({projectId, keyFilename});
export const addPairs = createAsyncThunk(
'pairs/addPairs',
async () => {
let [translations] = await translate.translate('hello world', 'en');
return translations
}
)
每当我使用dispatch
调用这个函数时,它总是返回这个错误:
fs.createReadStream is not a function
我似乎不明白为什么会出现这种情况,我已经试图寻找任何其他解决方案,但似乎没有人以前有过类似的用例……任何帮助将非常感激!
我刚刚意识到我无法从浏览器上的本地文件系统读取密钥(因为API显然是为服务器端代码设计的),所以最好的方法是设置一个本地服务器来服务API,然后从客户端访问它。哎呀。