小编use*_*499的帖子

使用google-api-java-client的2脚OAuth

有谁知道如何使用google-api-java-client使用2脚OAuth?我正在尝试访问Google Apps Provisioning API以获取特定域的用户列表.

以下不起作用

HttpTransport transport = GoogleTransport.create();
GoogleHeaders headers = (GoogleHeaders) transport.defaultHeaders;
headers.setApplicationName(APPLICATION_NAME);
headers.gdataVersion = GDATA_VERSION;

OAuthHmacSigner signer = new OAuthHmacSigner();
signer.clientSharedSecret = CONSUMER_SECRET;

OAuthParameters oauthParameters = new OAuthParameters();
oauthParameters.version = OAUTH_VERSION;
oauthParameters.consumerKey = CONSUMER_KEY;
oauthParameters.signer = signer;
oauthParameters.signRequestsUsingAuthorizationHeader(transport);
Run Code Online (Sandbox Code Playgroud)

我收到"com.google.api.client.http.HttpResponseException:401 Unknown authorization header".标题看起来像这样

OAuth oauth_consumer_key="...", oauth_nonce="...", oauth_signature="...", oauth_signature_method="HMAC-SHA1", oauth_timestamp="...", oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)

我也尝试过没有成功

GoogleOAuthDomainWideDelegation delegation = new GoogleOAuthDomainWideDelegation();
delegation.requestorId = REQUESTOR_ID;
delegation.signRequests(transport, oauthParameters);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前致谢.

java oauth google-api 2-legged google-api-java-client

4
推荐指数
1
解决办法
4531
查看次数