어쩔 수 없어, 내가 트위터 API의 기본 사용법을 가르쳐 줄게.

17043 단어 PythonTwittertech

개시하다


저는 DOKOSORE 주식회사의 전나무 엔지니어입니다.
트위터를 자유롭게 사용할 수 있도록 트위터 API를 파악할 필요가 있다.그러나 트위터 API는 사람마다 쓰는 방법이 다르기 때문에 많은 초보자들이 당혹스러워한다.나 자신도 문외한인데 최근'어? 이 작법을 지키면 계속 예쁘게 쓸 수 있겠다'는 식의 작법을 보고 기사를 쓰려고 한다.글을 쓰는 동력이니까 좋은 댓글을 달아주시면 감사하겠습니다.
언어는 Python을 사용합니다.
트위터 API의 신청과 같은 내용은 다른 글에서 쉽게 요약할 수 있으니 참고하시기 바랍니다.

OAuth 인증 객체 만들기


먼저 OAuth 인증 객체를 작성합니다.(나는 이곳의 작법이 아직 개선할 여지가 있다고 생각한다.)
config.py
CONFIG = {
    "CONSUMER_KEY": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "CONSUMER_SECRET": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "ACCESS_TOKEN": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "ACCESS_SECRET": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3",
}
define_client.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from config import CONFIG
from requests_oauthlib import OAuth1Session
# --------------------------------------------------------------------
def define_client_proc():
    CONSUMER_KEY = CONFIG["CONSUMER_KEY"]
    CONSUMER_SECRET = CONFIG["CONSUMER_SECRET"]
    ACCESS_TOKEN = CONFIG["ACCESS_TOKEN"]
    ACCESS_TOKEN_SECRET = CONFIG["ACCESS_SECRET"]
    # OAuthの認証オブジェクトの作成
    twitter = OAuth1Session(
        CONSUMER_KEY,
        CONSUMER_SECRET,
        ACCESS_TOKEN,
        ACCESS_TOKEN_SECRET)
    return twitter
config.py로 인증키,define 설정client.py로 인증 대상을 만들고 있습니다.
나중에 다른 파일로 define. -client_proc () 를 호출하고 인증 대상을 사용합니다.
xxxx.py
from define_client import define_client_proc
twitter = define_client_proc()

제가 생각하는 마지막 글씨.


여기서부터 마음에 드는 서류를 준비하세요.(이번에main.py에 쓰기)
우선 인증 대상을 호출한 다음 트위터 변수에 저장합니다.
main.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from define_client import define_client_proc

# OAuthの認証オブジェクトの作成
twitter = define_client_proc()
다음에 사용할 URL을 준비합니다.
URL은 Twitter API 문서에 나타나는 ResourceURL입니다.
이 URL은
Tweet을 검색할 때(Search API)
Tweet을 투고하려는 경우(Update API)
이렇게 용도에 따라 다르다.
트위터 API 문서에서 매번 가져오세요.
먼저 기고문 트위터의 API를 사용해 보자.
main.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from define_client import define_client_proc

# OAuthの認証オブジェクトの作成
twitter = define_client_proc()
tweetUrl = 'https://api.twitter.com/1.1/statuses/update.json'
다음 트윗의 내용을 변수에 저장합니다.
main.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from define_client import define_client_proc

# OAuthの認証オブジェクトの作成
twitter = define_client_proc()
tweetUrl = 'https://api.twitter.com/1.1/statuses/update.json'
# --------------------------------------------------------------------
def tweet():
    # ツイートする内容を記述
    tweet_text = "Pythonを使ってTwitterAPIからツイートします。"
    # params変数に格納する
    params = {
        "status": tweet_text,
    }
params에 TwitterAPI 문서에 기록된 매개 변수를 입력합니다.
이번에 사용한statuses/update의 페이지에는 다음과 같은 인자가 적혀 있습니다.

그 다음에는 OAuth의 인증 대상만 호출해서 포스터를 드릴게요.
main.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from define_client import define_client_proc

# OAuthの認証オブジェクトの作成
twitter = define_client_proc()
tweetUrl = 'https://api.twitter.com/1.1/statuses/update.json'
# --------------------------------------------------------------------
def tweet():
    # ツイートする内容を記述
    tweet_text = "Pythonを使ってTwitterAPIからツイートします。"
    # params変数に格納する
    params = {
        "status": tweet_text,
    }
    # OAuth認証オブジェクトを呼び出して、postする。
    response = twitter.post(url=tweetUrl, data=params)

    # エラーを検知出来るように
    if response.status_code < 200 or response.status_code > 299:
        print("ツイート失敗")
수행결과↓

트위터에 올렸어요.
이러한 쓰기 방법의 장점은 모든 목적이 URL과params만 바꾸면 읽기 쉽고 유지하기 쉽다는 것이다.
이상은 소개하고 싶은 작법입니다.
어렵기 때문에 나는 많은 것을 시도했다.

시험해 보다


main.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from define_client import define_client_proc

# OAuthの認証オブジェクトの作成
twitter = define_client_proc()
tweetUrl = 'https://api.twitter.com/1.1/statuses/update.json'
showUrl = 'https://api.twitter.com/1.1/statuses/show.json'
timelineUrl = "https://api.twitter.com/1.1/statuses/user_timeline.json"
# --------------------------------------------------------------------
# ツイートを投稿する。
def post_tweet():
    # ツイートする内容を記述
    tweet_text = "Pythonを使ってTwitterAPIからツイートします。"
    # params変数に格納する
    params = {
        "status": tweet_text,
    }
    # OAuth認証オブジェクトを呼び出して、postする。
    response = twitter.post(url=tweetUrl, data=params)

    # エラーを検知出来るように
    if response.status_code < 200 or response.status_code > 299:
        print("ツイート失敗")
	
# リプライを投稿する
def post_reply():
    # ツイートする内容を記述
    reply_text = "Pythonを使ってTwitterAPIからツイートします。"
    # params変数に格納する
    params = {
        "status": tweet_text,
	# リプライしたいツイートのTweetIDを記入
	"in_reply_to_status_id": tweet_id
    }
    # postする。
    twitter.post(url=tweetUrl, data=params)
    
# ツイートの基本情報を取得
def get_tweet_info():
    getInfoParams = {
        "id": tweet_id
    }
    # paramsを指定してgetする
    tweetInfo_response = twitter.get(url=showUrl, params=getInfoParams)
    tweetInfo = tweetInfo_response.json()
    print(tweetInfo)
    
# 自分のタイムラインを取得
def getTargetTimeline():
    getTimelineParams = {
	# だれのタイムラインを取得するか
        "screen_name": screen_name,
	# 何個集めるか
        "count": 100
    }
    twitter.get(url=timelineUrl, params=getTimelineParams)
이런 느낌은 많은 것을 쓸 수 있다.
이번엔 여기까지.
반응이 많으면 트위터 API로도 놀고 싶은데 꼭 댓글로 남겨주세요.

주식회사 DOKOSORE 제품 소개


어렵기 때문에 제품 소개
Yondle(연덕)이 스마트폰으로 책을 읽을 수 있는 전자책 리더(개발 중)
https://yondle.jp/
GOTSUGO(GOTSUGO)는 달력에서 유휴 시간을 자동으로 추출합니다.스케줄 조정할 때 쓰세요.
https://chrome.google.com/webstore/detail/gotsugo/chkfpbeliinnfbkjcmicaoooopkhnpcc

좋은 웹페이지 즐겨찾기