Express에서 Twitter API 사용
15703 단어 TwitterAPIExpressNode.js
소개
후배가 TwitterAPI의 이야기를 하면 신경이 쓰였으므로, 두드려 보기로 했다.
Twitter Developer
개요
- 트위터 계정이 있다면 자신을위한 API 액세스 포인트를 만들고 트위터 API를 치십시오.
준비
Twitter 계정
계정 생성
※계정 보유자는 날린다
TwitterAPI 액세스 포인트 생성
개요
- 트위터 계정이 있다면 자신을위한 API 액세스 포인트를 만들고 트위터 API를 치십시오.
준비
Twitter 계정
계정 생성
※계정 보유자는 날린다
TwitterAPI 액세스 포인트 생성
Create an app
에서 앱 등록앱 등록 화면
테스트이므로 ↓ 이런 느낌의 내용 ↓에서 등록
품목
값
설명
앱 이름
test
자신이 만드는 앱의 이름
Description
just for test
앱 설명
웹사이트 URL
htp : // st. 이 m
앱 URL
Sign in with Twitter
enabled
Callback URL
http://localhost:3000
서버 URL. 프로덕션 서버를 세우면 추가
Terms of service URL
Privacy policy URL
조직 이름
Organization website URL
App usage
test test test test test test test test test test test test test test test test test test test test test test test test test test
자세한 앱 설명
아래
Create
4. 만들었으면
Keys and tokens
탭에서 Genrate key
를 누릅니다.중요
↓이런 화면↓이 나오므로,
Access token
와 Access token secret
를 copipe&메모해 보존작성 완료
4가지 사용
- Api 키
- Api secret key
- 액세스 토큰
- Access token secret
Node.js
Node.js 설치
npm도 사용할 수 있도록 해 둡니다.
Node.js 다운로드 사이트
사용방법
- API 참조에서 사용하려는 API를 찾습니다.
이번에는 트렌드을 보기로 결정했습니다.
HttpRequest 날리는 것만으로 좋은 것 같습니다.
API Reference contents
GET trends/available GET trends/closest
var Twitter = require('twitter');
var client = new Twitter({
consumer_key: '',
consumer_secret: '',
access_token_key: '',
access_token_secret: ''
});
var params = {screen_name: 'nodejs'};
client.get('statuses/user_timeline', params, function(error, tweets, response) {
if (!error) {
console.log(tweets);
}
});
서버를 세워보세요
사양
서버의 URL을 두드리면 Twitter의 트렌드 결과가 우선 화면 가득 나온다.
소스 코드
package.json{
"name": "twitter_api_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"twitter": "^1.7.1"
}
}
index.js// server settings
const express = require("express")
const server = express();
const port = 3000
// twitter settings
const Twitter = require('twitter');
// さっき作ったAPIの設定
const API_KEY = "AAAAAAAAAA"
const API_SECRET_KEY = "BBBBBBBBBB"
const ACCESS_TOKEN = "CCCCCCCCCC"
const ACCESS_TOKEN_SECRET = "DDDDDDDDDD"
const twitter = new Twitter({
consumer_key: API_KEY,
consumer_secret: API_SECRET_KEY,
access_token_key: ACCESS_TOKEN,
access_token_secret: ACCESS_TOKEN_SECRET,
});
// routes
server.get("/", function (req, res, next) {
res.send("server is up")
});
server.get("/trends", function (req, res, next) {
// ここでTwitterAPIを叩く
twitter.get('trends/available', function (error, result, response) {
if (error) {
res.send(error)
} else {
res.send(result); // TwitterAPIの結果をそのまま返す
}
});
})
server.listen(port, function () {
console.log('Listening on port ' + port)
});
결과
{
"name": "twitter_api_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"twitter": "^1.7.1"
}
}
// server settings
const express = require("express")
const server = express();
const port = 3000
// twitter settings
const Twitter = require('twitter');
// さっき作ったAPIの設定
const API_KEY = "AAAAAAAAAA"
const API_SECRET_KEY = "BBBBBBBBBB"
const ACCESS_TOKEN = "CCCCCCCCCC"
const ACCESS_TOKEN_SECRET = "DDDDDDDDDD"
const twitter = new Twitter({
consumer_key: API_KEY,
consumer_secret: API_SECRET_KEY,
access_token_key: ACCESS_TOKEN,
access_token_secret: ACCESS_TOKEN_SECRET,
});
// routes
server.get("/", function (req, res, next) {
res.send("server is up")
});
server.get("/trends", function (req, res, next) {
// ここでTwitterAPIを叩く
twitter.get('trends/available', function (error, result, response) {
if (error) {
res.send(error)
} else {
res.send(result); // TwitterAPIの結果をそのまま返す
}
});
})
server.listen(port, function () {
console.log('Listening on port ' + port)
});
npm install
그렇다면 npm start
localhost:3000
방문localhost:3000/trends
방문잘 작동했습니다.
Reference
이 문제에 관하여(Express에서 Twitter API 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yunayunanaka/items/60b8bde74bf42c7b9053텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)