에서 충돌 나는 다음과 같은 지침을 사용하여 oath2와 함께 사용하기에 내 웹 응용 프로그램을 등록 리디렉션 URI. 내가 다음에 JSON으로 제공하는 액세스 토큰을 요청하는 데 사용할 수있는 구글에서 요청 매개 변수에 코드를받을구글 OAuth2를 자바 연락처 서비스 문서
http://code.google.com/apis/accounts/docs/OAuth2WebServer.html
내가 따라 내 웹 응용 프로그램을 구성하면
: 라인을 따라 포맷 { "access_token은": "1/fFAGRNJru1FTz70BzhT3Zg" "expires_in"3920 "token_type": "베어러" }
,691 363,210이 작업이 완료되면, I는 사용자를 대신하여 구글 API에 액세스하는 액세스 토큰을 사용할 수 있습니다
가 GET으로 https://www.googleapis.com/oauth2/v1/userinfo?access_token=1/fFBGRNJru1FQd44AzqT3Zg
이를 단순히 요청 매개 변수로 액세스 토큰을 전달하면됩니다 문서화 .
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
oauthParameters.setOAuthToken(ACCESS_TOKEN);
oauthParameters.setOAuthTokenSecret(TOKEN_SECRET);
DocsService client = new DocsService("yourCompany-YourAppName-v1");
client.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());
URL feedUrl = new URL("https://docs.google.com/feeds/default/private/full");
DocumentListFeed resultFeed = client.getFeed(feedUrl, DocumentListFeed.class);
for (DocumentListEntry entry : resultFeed.getEntries()) {
System.out.println(entry.getTitle().getPlainText());
}
또는 RSA-SHA1
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
oauthParameters.setOAuthToken(ACCESS_TOKEN);
PrivateKey privKey = getPrivateKey("/path/to/your/rsakey.pk8"); // See above for the defintion of getPrivateKey()
DocsService client = new DocsService("yourCompany-YourAppName-v1");
client.setOAuthCredentials(oauthParameters, new OAuthRsaSha1Signer(privKey));
URL feedUrl = new URL("https://docs.google.com/feeds/default/private/full");
DocumentListFeed resultFeed = client.getFeed(feedUrl, DocumentListFeed.class);
for (DocumentListEntry entry : resultFeed.getEntries()) {
System.out.println(entry.getTitle().getPlainText());
}
에 대해 다음 : 나는 (이 경우 구글 연락처) 자바 API를 사용하여에 이동할 때
그러나 나는 HMAC-SHA1에 대한 설명서에 다음을 얻을
우선, 자바 래퍼가 아닌 표준 http를 수행하는 경우 액세스 토큰 만 제공하면됩니다. 나는 뭔가를 놓치고 있습니까? 아니면이 추가 매개 변수가 어디에서 왔습니까? 주로 TOKEN_SECRET은 문서화에 언급이 없습니다. 또한 CONSUMER_KEY 및 CONSUMER_SECRET을 제공해야한다는 언급이 없습니다. 나는 그들이 클라이언트 ID와 클라이언트 비밀에 대한 대체 이름이라고 생각하고있다. 그러나 왜 나는 지금 그것을 제공해야하는지 이해하지 못한다. 마지막으로 Google API 콘솔을 사용하여 애플리케이션을 설정할 때 두 가지 다른 암호화 유형에 대한 언급이 없었으며 앞으로 어떤 것을 사용하려고합니까?
Oauth를 사용하지 않는 링크 된 예제가 있습니다. Oauth 2.0을 사용하면 6 단계로 이동합니다. "응용 프로그램에서 사용자 데이터를 요청하고 액세스 토큰을 첨부하십시오. 요청. " 하지만 예제를 제공하지 않습니다. 그 아래에 Oauth의 예가 없습니다. 그것은 Oauth 2.0 페이지에서 나에게 지시, 그것은 단지 자바 API를하지 않고 직선 http를 사용하여 예제를 제공합니다. 다시 구글을 혼란스럽게합니다. – mogronalol