2017-08-08 5 views
0

私はBuffer(ソーシャルメディアスケジューリングアプリ)のAPIを承認しようとしています。私は、ここで説明https://buffer.com/developers/api/oauthPythonでのバッファAPI認証

承認の最初のステップを、以下のタイプの要求を使用して認証ページにユーザーをリダイレクトしています:

GET https://bufferapp.com/oauth2/authorize? 
    client_id=...& 
    redirect_uri=...& 
    response_type=code 

は、一度ページを認可しREDIRECT_URIにリダイレクトクエリパラメータとして認証コード:

http://example.com/back?code=1/mWot20jTwojsd00jFlaaR45 

コードは、アクセストークンを取得するためのPOSTリクエストで使用するその後されていること:

POST https://api.bufferapp.com/1/oauth2/token.json 

POST Data 
    client_id=...& 
    client_secret=...& 
    redirect_uri=...& 
    code=...& 
    grant_type=authorization_code 

ただし、認証コードの有効期間は30秒です。

私は手動でしてから承認私はそうのように受け取るauth_codeとPOSTリクエスト行うと:

my_data = { 
    'client_id': my_client_id, 
    'client_secret': my_client_secret, 
    'redirect_uri': my_redirect_uri, 
    'code': auth_code, 
    'grant_type': 'authorization_code', 
} 

token = requests.post('https://api.bufferapp.com/1/oauth2/token.json', data=my_data) 

を私は「無効助成金」のエラーが表示されます。

他のAPIとの関連でエラーを参照しました(バッファAPIはそれほど使用されていないようです)。その理由の1つが期限切れのauth_codeかもしれません。短い貯蔵寿命を考えれば驚くべきことではない。

auth_codeの有効期限を避けるために認証ビットを自動化する良い方法はありますか?

ここに間違っていますか?あなたの助けを事前に

多くのおかげで

答えて

0

バッファは、OAuth 2.0のプロバイダです。

あなたはおよそ

要求-OAuthlibを読んで、OAuthの2ワークフローを使用する必要があります。OAuth 2 Workflow

次のセクションでは、可能性のOAuth2のいくつかは、あなたが使用できるフローを示していくつかのサンプルコードを提供requests-oauthlibを使用します。私たちは4つの例を提供しています:OAuth2 RFCによって定義された許可タイプごとに1つ。これらの許可タイプ(またはワークフロー)は、承認コード付与(またはWebアプリケーションフロー)、暗黙的付与(またはモバイルアプリケーションフロー)、リソース所有者パスワード資格付与(またはより簡潔には、従来のアプリケーションフロー)資格証明グラント(またはバックエンド・アプリケーション・フロー)。

+0

ありがとう、私はこれを試してみます – Panos