2

http://api.tumblr.com/v2/user/likes URLでユーザーの tumblr の「いいね」投稿を取得しようとしています。アプリを tumblr に登録し、アプリがユーザーの tumblr データにアクセスすることを承認したのでoauth_consumer_keyoauth_consumer_secretoauth_token、 、oauth_token secret. ただし、API 呼び出しを行うときにこれらの詳細をどうすればよいかわかりません。さらに処理するために json を出力するだけのコマンド ライン スクリプトを作成しようとしているので、bash (cURL)、Perl、または python でのソリューションが理想的です。

4

2 に答える 2

1

Python を使用してもかまわない場合は、rauthをお勧めします。Tumblr の例はありませんが、OAuth 1.0/a と OAuth 2.0 の両方で実際に動作する例があります。API は、シンプルでわかりやすいものにすることを目的としています。他にどのような要件があるかわかりませんが、試してみる価値はありますか?

興味がある場合は、次の実際の例を参照してください。

from rauth import OAuth1Service

import re
import webbrowser

# Get a real consumer key & secret from http://www.tumblr.com/oauth/apps
tumblr = OAuth1Service(
    consumer_key='gKRR414Bc2teq0ukznfGVUmb41EN3o0Nu6jctJ3dYx16jiiCsb',
    consumer_secret='DcKJMlhbCHM8iBDmHudA9uzyJWIFaSTbDFd7rOoDXjSIKgMYcE',
    name='tumblr',
    request_token_url='http://www.tumblr.com/oauth/request_token',
    access_token_url='http://www.tumblr.com/oauth/access_token',
    authorize_url='http://www.tumblr.com/oauth/authorize',
    base_url='https://api.tumblr.com/v2/')

request_token, request_token_secret = tumblr.get_request_token()

authorize_url = tumblr.get_authorize_url(request_token)

print 'Visit this URL in your browser: ' + authorize_url
webbrowser.open(authorize_url)
authed_url = raw_input('Copy URL from your browser\'s address bar: ')
verifier = re.search('\oauth_verifier=([^#]*)', authed_url).group(1)

session = tumblr.get_auth_session(request_token,
                                  request_token_secret,
                                  method='POST',
                                  data={'oauth_verifier': verifier})

user = session.get('user/info').json()['response']['user']

print 'Currently logged in as: {name}'.format(name=user['name'])

完全な開示、私は rauth を維持します。

于 2013-03-29T00:25:02.423 に答える
0

なんとなく答えが見つかりました。結局、perl で OAuth::Consumer を使用して tumblr API に接続しました。これは私がこれまでに見つけた最も簡単な解決策であり、うまく機能します。

于 2013-03-28T17:46:56.040 に答える