pinterest access tokenの取得やり方が分からない。
pinterestのapiを使ってアプリを作成したいのですが、access tokenの取得方法が分かりません。
https://developers.pinterest.com/docs/api/overview/
ドキュメントを読んだのですが、Postmanを使ったやり方しか理解できません。毎度アプリで取得して使いたいのでpythonのプログラムから取得したいのです。
hatenaのアクセストークンを取得するときに以下のコードを作成したのですが、これにどのようにpinterestの情報を入れたら良いのでか分かりません。
appID
とappSecret
の2つしかpinterestではないです。oauthのバージョンが違うなどでしょうか?
一日中、探しても出てこなかったのでここで質問させていただきます。
よろしくお願いします。
import os
from flask import Flask, request, redirect, session
from furl import furl
from requests_oauthlib import OAuth1Session
app = Flask(__name__)
app.secret_key ='????????????????'
#urlをこんな感じにする。https://www.pinterest.com/oauth/?consumer_id=たぶん自分のappID&response_type=token
OAUTH_CONSUMER_KEY = 'xxxxxxxxxxxxxxx' #pinでいうclient IDに当たる
OAUTH_CONSUMER_SECRET = 'yyyyyyyyyyyyyy'
TEMPORARY_CREDENTIAL_REQUEST_URL = '????????????'
RESOURCE_OWNER_AUTHORIZATION_URL = '????????????'
TOKEN_REQUEST_URL = '??????????????????'
CALLBACK_URI = 'http://0.0.0.0:9000/callback_page'
SCOPE = {'scope': 'read_public,write_public'}
@app.route('/')
def index():
oauth = OAuth1Session(OAUTH_CONSUMER_KEY, client_secret=OAUTH_CONSUMER_SECRET, callback_uri=CALLBACK_URI)
#以下のコードがよくわからん
fetch_respone = oauth.fetch_request_token(TEMPORARY_CREDENTIAL_REQUEST_URL, data=SCOPE)
session['request_token'] = fetch_respone.get('oauth_token')
session['request_token_secret'] = fetch_respone.get('oauth_token_secret')
redirect_url = furl(RESOURCE_OWNER_AUTHORIZATION_URL)
redirect_url.args['oauth_token'] = session['request_token']
return redirect(redirect_url.url)
@app.route('/callback_page')
def callback_page():
#verifierってなんですの?
verifier = request.args.get('oauth_verifier')
oauth = OAuth1Session(OAUTH_CONSUMER_KEY, client_secret=OAUTH_CONSUMER_SECRET, resource_owner_key=session['request_token'], resource_owner_secret=session['request_token_secret'], verifier=verifier)
access_tokens = oauth.fetch_access_token(TOKEN_REQUEST_URL)
access_token = access_tokens.get('oauth_token')
access_secret = access_tokens.get('oauth_token_secret')
return "アクセストークン: {}, アクセストークン・シークレットキー: {}".format(access_token, access_secret)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=9000)