首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Node.js、Mongo 和 D3 创建一个工具来分析 Twitter 用户信息(2)

使用 Node.js、Mongo 和 D3 创建一个工具来分析 Twitter 用户信息(2)

构建一个类似应用程序需要做的准备工作这是一个复杂的应用程序。本教程中的步骤可以帮助中级开发人员学习如何在 Node 上构建经过身份验证的 Twitter 应用程序,并将它们部署到 PaaS,我们需要一些组件和步骤。
我的方法是使用 Mongo 和 Node 创建一个本地环境,然后再将更改推送到 git 时,使用   将它们部署到 Bluemix。
对于本地环境,我安装了服务器端 Node.js 模块和客户端 JavaScript 库。
  • 服务器端 Node.js 模块:
    • :连接到一个 a   数据库
    • :一个用于调用                              的非常方便的库。
    • :用于向                            Twitter 执行身份验证
  • 客户端 JavaScript 库:
    • :编写一些可靠的 HTML                            UI 组件
    • :在词汇云可视化中使用的数据驱动的文档
单击上面的获取代码按钮,即可下载一个 package.json 文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "name": "ProfileWords",
  "version": "v0.0.1",
  "description": "A tool for analyzing Twitter accounts, using follower's bios",
  "dependencies": {
    "mongodb": "*",
    "express": "*",
    "twit": "~1.1.11",
    "cookie-parser": "*",
    "express-session": "~1.0.3",
    "errorhandler": "*",
    "morgan": "*",
    "request":"*",
    "multiparty":"*",
    "oauth": "*"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "repository": {}
}




这个包文件还包含 Mongo 和 OAauth 所依赖的一些包。
所有这些代码都是使用简单的 MEAN 堆栈技术开发的,专为在 Bluemix 上运行而设计。我给出了在 Bluemix 上设置 MongoLabs                服务的步骤。
为了了解如何构建我的可视 Twitter mashup,我执行了以下步骤:
  • 按照   中的说明进行操作
  • 将 Mongo 安装在本地
  • 从   创建一个 Twitter                    应用程序
  • 设置我的 Twitter 验证配置
  • 创建一个基本 Mongo 应用程序
  • 添加基本的 Twitter 身份验证,基础平台到此就建立完成
  • 开始编写代码来调用 Twitter API 并写入到数据库
  • 放置一个可视化库(我使用了 D3)
第 1 步.                将配置存储在环境中  之一是将配置存储在环境中。此技术有助于保持 API                密钥(和其他数据)处于私有状态。
因为此项目使用了  ,所以您需要                  来运行该代码。在此过程中,您会获得 app.js 文件需要知道的一些 Twitter 密钥;否则 Twitter 会拒绝对应用程序使用的 API                的调用。有关的更多细节,请参阅我的应用程序的 README.MD 文件。
在我的 app.js 文件中,可以看到以下代码行设置了一个用于验证的用户密钥对象。
1
2
3
4
5
6
7
8
9
10
11
var consumer = new oauth.OAuth(
        "https://twitter.com/oauth/request_token", "https://twitter.com/oauth/access_token",
        process.env.TWITTER_CONSUMER_KEY,
        process.env.TWITTER_CONSUMER_SECRET,
        "1.0A", _callBackPage, "HMAC-SHA1");

        app.use(errorHandler({ dumpExceptions: true, showStack: true }));
        app.use(logger());
        app.use(cookieParser());
        app.use(session({ secret: "very secret" })
);




该清单包含 Twitter 为我的应用程序提供的字符串值 process.env.TWITTER_CONSUMER_KEY                和 process.env.TWITTER_CONSUMER_SECRET。创建一个新 Twitter                应用程序并切换到您应用程序页面的 API keys 选项卡,如下图所示。定义您环境的密钥。我的应用程序名为                ProfileWords。您的应用程序将拥有您自己的名称。
Mac 用户:要定义您环境的密钥:
  • 打开一个终端窗口。
  • 发出下面这条命令:                        
    1
    sudo vi /etc/launchd.conf




  • 编辑 launchd.conf 文件,添加以下行:                        
    1
    2
    3
    setenv TWITTER_CONSUMER_KEY YOUR-STRING
    setenv TWITTER_CONSUMER_SECRET YOUR-STRING
    setenv TWITTER_ENDPOINT YOUR-ENDPOINT




单击您应用程序页面的 Settings 选项卡。指定一个名称、一段描述、一个网站 URL 和一个回调 URL。勾选                    Allow this application to be used to Sign in with                    Twitter 复选框。
重新启动您的系统。现在,在您的 Node 应用程序运行时,它就能够访问您的用户字符串。
Windows 用户:从 shell 发出下面这条命令:
1
SET TWITTER_CONSUMER_KEY=YOUR-STRING

返回列表