pythonから任意のURLをはてなブックマークに追加する [はてなREST API]
目次
はじめに
はてなのAPIを使って何かしてみたいなーと思って、
とりあえずpythonから任意のURLをはてなブックマークに追加するプログラムを作りました。
前準備
アプリケーション登録
はてなブックマークのREST APIを使用するためには、はてなにユーザ登録した後に自分の作りたいアプリケーションを登録してConsumer Key, Consumer Secretという文字列を手に入れたあと、アクセストークンとアクセストークンシークレットを生成する必要があります。
下記のページを参考に、consumer key / consumer secret の取得まで行います。
Consumer key を取得して OAuth 開発をはじめよう - Hatena Developer Center
そこからアクセストークン、アクセスシークレットを取得する方法はやや厄介ですが、下記の記事に簡単な取得方法を紹介しています。
www.iruca21.com
また、下記pythonプログラムを利用するにはrequests, requests_oauthlibライブラリが必要なのでインストールしておいてください。
yum -y install python-setuptools easy_install pip pip install requests requests_oauthlib
プログラム紹介
あとは単に仕様書を参考にAPIを利用するだけです。
bookmark_util.py
#!/usr/bin/python #-* coding:utf-8 -*- """ 任意のURLをはてなブックマークするためのUtility """ import requests from requests_oauthlib import OAuth1 def post_bookmark(auth, url): """ 任意のURLをはてなブックマークに登録する。 Args: auth: はてなAPIを使用するためのAccessTokenが入力された、requests_oauthlibのOAuth1オブジェクト url: ブックマークしたいURL Returns: bookmarkに成功したときやすでにbookmark登録している場合はTrue, リクエスト不正やネットワークエラーなどのときはFalse """ target_url = "http://api.b.hatena.ne.jp/1/my/bookmark" response = requests.post(target_url, params={"url": url}, auth=auth) if response.status_code == 200: return True else: return False # このスクリプトを実行したときに試しにブックマークしてみる if __name__ == "__main__": consumer_key = "自分のconsumer keyをここに入力" consumer_secret = "自分のconsumer secretをここに入力" access_token = "自分のアクセストークンをここに入力" access_secret = "自分のアクセスシークレットをここに入力" # ブックマークしたいURLをここに入力 bookmark_url= "http://www.nych87.com/entry/2017/05/28/133711" auth = OAuth1( consumer_key, consumer_secret, access_token, access_secret ) print post_bookmark(auth, bookmark_url )
実行してみた
上記プログラムで、試しににーちさんの記事をはてなブックマーク登録してみます。
[root@hoge hateblo]# python bookmark_util.py True
ブックマークに成功したらTrueとだけ返ってくるようにしてあります。
実際にブックマークされたか確認しにいってみます。
うんうん、されてる。満足!
何かアプリ作りたいなー。