【发布时间】:2016-03-24 10:57:54
【问题描述】:
我是 Node.js、Express 和 Angular 的新手。我在localhost 上运行了一个 Node/Express 应用程序。我正在尝试使用 Twitter API 将其变成 Twitter 搜索应用程序,以便我可以输入搜索词,API 返回此搜索词的搜索结果。为此,我使用twitter package。在index.js,我在 X 处填写了我的 Twitter 密钥和秘密如下:
var Twitter = require('twitter');
var client = new Twitter({
consumer_key: 'X',
consumer_secret: 'X',
access_token_key: 'X',
access_token_secret: 'X'
});
当我将以下代码放入index.js 时,关键字“awesome”的搜索结果将记录到控制台:
var tmpSearch = 'awesome';
client.get('search/tweets', {q: tmpSearch}, function(error, tweets, response){
if (error) throw error;
console.log(tweets);
});
这行得通。我的主页使用了一个控制器myCtrl,它确保当用户按下搜索按钮(带有属性ng-click="search(searchTerm)")时,输入的搜索词被分配给变量searchTerm(使用ng-model="searchTerm"作为输入区域)。控制器代码如下:
app.controller('myCtrl', ['$scope',
function($scope){
$scope.search = function(searchTerm){
console.log("Searching for " + searchTerm);
// Search here...
console.log("Search finished.");
};
}
]);
它将搜索词记录到控制台,但我不知道如何从这里开始。上面写着// Search here... 我想从上面执行client.get 代码,但我不能在public/javascript.js 中使用routes/index.js 中的client 变量。为了执行搜索,我需要在代码中添加什么?
我有一种感觉,我不了解 Node/Express 的一个非常重要的部分,但我不知道那是哪一部分,所以我寻找解决方案并不是很成功。我以前也从未使用过 API,而且我花了很多时间阅读 Node.js 和 Twitter API 的文档和教程,但我才开始学习它只是一周前,所以大部分内容都没有对我来说很有意义。我在 GitHub 上找到了一些使用 Twitter API 的 Node 应用程序示例(其中大多数使用不同的包),我试图理解其中的代码,但我不知道我应该做什么。我希望有人能有足够的耐心向我解释我缺少什么。
【问题讨论】:
-
如果你有的话,请你分享上面的工作示例代码。谢谢!
标签: javascript angularjs node.js express twitter