这个问题在这里已有答案:
我被分配了一项任务,从某个标签中获取所有推文,并将该数据发送到我的应用程序。所以我决定使用firebase云功能,我生成了twitter api所需的密钥。我也测试了使用邮递员状态获取我的主页并且工作,但是当我在良好的云功能上测试我的代码时我的问题我无法让它工作并且当我尝试这个终点时出现错误信息:
Error: could not handle the request
要么
https://us-central1-don.cloudfunctions.net/api/statuses/user_timeline
这是我在firebase云功能上的代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const express = require('express');
const Twitter = require('twitter');
admin.initializeApp(functions.config().firebase);
const client = new Twitter({
consumer_key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
consumer_secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
access_token_key: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
access_token_secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
});
const app = express();
/* Express */
app.get('/', function(req,res){
client.get('statuses/user_timeline', {screen_name: 'nodejs', count: 5}, function (error, tweets, response) {
if (!error) {
response.send({ title: 'Express', tweets: tweets })
}
else {
response.send({ error: "this is error: " + error })
}
});
});
// Cloud Function
exports.api = functions.https.onRequest(app)
希望有人能提出任何解决方案,谢谢。
更新:这是我的功能控制台,它也会抛出一个错误:
api函数执行花了8毫秒,完成状态代码:404
api结算帐户未配置。外部网络无法访问,配额严重受限。配置结算帐户以删除这些限制
如评论中所述,您应升级到付费计划,您可能会发现此其他Stack Overflow问题很有用:Cloud Functions for Firebase - Billing account not configured
希望这可以帮助!