OpenAPI Generator를 통해 Twitter APIv2의 Type Script 클라이언트 자동 생성
11362 단어 Node.jsTwitterTypeScripttech
트위터 APIv2에는 OAuth 2.0 Bearer Token과 OAuth 1.0a User Context 두 가지 인증 방법이 있다.
OAuth 2.0 Bearer Token을 통해 공개된 트위터 등 이용자와 무관한 접근 가능한 데이터를 확보할 수 있지만, 특정 이용자로서 이뤄지는 트위터 기고나 비공개 트위터 취득 등의 조작은 여전히 종전과 마찬가지로 OAuth1이다.0a 인증이 필요합니다.
OAuth2.0 인증은 OpenAPI Generator의 자동 생성을 통해 대응하지만 OAuth1.0a 인증은 지원되지 않기 때문에 수동으로 실시하고 두 가지 인증 방법을 지원한다.
설치하다.
yarn add twimo-v2
# or
npm i -S twimo-v2
사용법
Tweet lookup 끝에서 데이터를 가져옵니다.
OAuth 2.0 Bearer Token
import { configureApi, TweetsApi, SearchApi, UsersApi } from 'twimo-v2'
const bearerToken = 'xxxxxxxx'
const tweetsApi = configureApi(TweetsApi, bearerToken)
tweetsApi.findTweetsById({
ids: ['1326191408546414592'],
expansions: ['author_id', 'attachments.media_keys'],
tweetFields: ['created_at', 'referenced_tweets', 'attachments'],
mediaFields: ['url', 'width', 'height'],
})
OAuth 1.0a User Context
import {
configureUserContextApi,
TweetsApi,
SearchApi,
UsersApi,
} from 'twimo-v2'
const apiKeys = { apiKey: 'xxxxxxxx', apiSecret: 'xxxxxxxx' }
const accessTokens = { token: 'xxxxxxxx', tokenSecret: 'xxxxxxxx' }
const tweetsApi = configureUserContextApi(TweetsApi, apiKeys, accessTokens)
tweetsApi.findTweetsById({
ids: ['1326191408546414592'],
expansions: ['author_id', 'attachments.media_keys'],
tweetFields: ['created_at', 'referenced_tweets', 'attachments'],
mediaFields: ['url', 'width', 'height'],
})
응답 예
{
"data": [
{
"id": "1326191408546414592",
"created_at": "2020-11-10T15:54:05.000Z",
"text": "test https://t.co/uMLs9riKeg",
"author_id": "1013969666186678272",
"attachments": {
"media_keys": [
"3_1326191367203160064"
]
}
}
],
"includes": {
"media": [
{
"height": 128,
"url": "https://pbs.twimg.com/media/EmeUBaJVgAA9mFu.png",
"width": 477,
"media_key": "3_1326191367203160064",
"type": "photo"
}
],
"users": [
{
"id": "1013969666186678272",
"name": "やまいも",
"username": "yarnaimo"
}
]
}
}
APIv2 응답 형식 정보
Expansions
APIv2에서 트위터의 기고 사용자와 미디어(이미지, 동영상) 등은 트위터 주체와 다른
includes
필드에 포함된다.이 기본값은 응답에 포함되지 않기 때문에 요청할 때
expansions
파라미터를 통해 응답에 포함될 데이터를 지정해야 합니다.지정한 =>
author_id
에user를 포함하고 이user의 id가 들어갑니다includes
지정=>
data.author_id
에 미디어를 포함하는데 그 중에서 미디어attachments.media_keys
의 진입includes
Fields
모든 트위터나 미디어에 포함될 필드는
media_key
/data.attachments.media_keys
/tweetFields
등fields 매개 변수로 지정됩니다.
Reference
이 문제에 관하여(OpenAPI Generator를 통해 Twitter APIv2의 Type Script 클라이언트 자동 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yarnaimo/articles/105359cb367f19텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)