2017-03-14 109 views
1

JMeterでoAuthトークンを取得するPOST呼び出しを行っています。 Googleドライブにファイルをアップロードできるようにします。以下はJMeterのリクエストの詳細です。JMeterでOauth2でGoogleに認証

POST https://accounts.google.com/o/oauth2/token 

POST data: 
client_id=<my_client_id>&auth_uri=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth&token_uri=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Ftoken&client_secret=<my_client_secret>&grant_type=authorization_code&redirect_uris=%5B%22urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob%22%2C+%22127.0.0.1%3A3000%22%5D%0A&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive 

[no cookies] 

Request Headers: 
Connection: keep-alive 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 424 
Host: accounts.google.com 
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_121) 

しかし、私は下にエラーが発生しています。どんな助けもありがとうございます。ありがとう。

{ 
: 
    "error" 
: : "invalid_request", 

: "error_description" : "Missing required parameter: code" 

} 
+0

これはお役に立ちますか? https://developers.google.com/identity/protocols/OAuth2 – Tanaike

+0

これを確認しました。しかし、JMeterでリクエストを作成できませんでした。 –

+0

ファイルをアップロードする場合は、アクセストークンが必要です。アクセストークンを取得する場合は、スコープを持つURLから取得したコードが必要です。 – Tanaike

答えて

0

私はJMeterのお手伝いができませんが、エラーメッセージの意味を教えていただけます。

grant_type=authorization_codeは、Oauth2フローの2番目のステップです。それにはいくつかの必須パラメータがあり、そのうちの1つがコードです。

https://accounts.google.com/o/oauth2/token 
code=4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI&client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code 

問題のコードは、ユーザーがアプリケーションアクセスを承認するための最初の要求から返されたコードです。

Googleには、これらの呼び出しに対応する多数の公式クライアントライブラリがあります。これらのうちの1つを使用することは、必要がない場合は、Oauth2の流れを理解しようとするよりはるかに簡単です。あなたはライブラリを使用することはできませんし、GoogleにフルOauth2の流れを見ることに興味がある場合私はそれについてのチュートリアルを持ってGoogle 3 legged Oauth2 flowそれは純粋なHTTP呼び出しを示しています。

0

私はこれが最速と/リフレッシュのOAuthトークンを取得する最も簡単な方法です、プログラミング言語としてGroovyを使用してJSR223 Test Elementsから​​を使用することをお勧めします。

詳しい説明と認可の例については、How to Run Performance Tests on OAuth Secured Apps with JMeterの記事を参照してください。

+0

ありがとうDmitri。ベアラ{トークン}を直接入力したあなたの記事https://www.blazemeter.com/blog/testing-advanced-rest-api-file-uploads-jmeterをチェックしていました。 このトークンを手動で取得した方法を教えてください。 –

+0

あなたはこのショーにいくつかのコードを追加したいと思います。ライブラリーを使用する方法その他の賢明なIMOこれはボードラインリンクのみの回答です。 – DaImTo

関連する問題