我正在使用Google數據協議客戶端庫對我的用戶進行身份驗證。這裏是我的代碼至今:java.lang.NullPointerException:無身份驗證標頭信息Google oauthentication
GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
oauthParameters.setOAuthConsumerSecret(SECRET_KEy);
GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(new OAuthHmacSha1Signer());
oauthParameters.setScope(SCOPE);
oauthParameters.setOAuthVerifier(oauth_verifier);
oauthParameters.setOAuthToken(oauth_token);
oauthParameters.setOAuthTokenSecret(oauth_token_secret)
String token = oauthHelper.getAccessToken(oauthParameters);
System.out.println("here");
ContactsService client=new ContactsService ("myapp");
client.setOAuthCredentials(oauthParameters, new hHmacSha1Signer());
URL feedUrl = new URL("https://www.google.com/m8/feeds/contacts/default/full");
ContactFeed resultFeed = client.getFeed(feedUrl, ContactFeed.class);
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
ContactEntry entry = (ContactEntry) resultFeed.getEntries().get(i);
System.out.println("|\t" + (i + 1) + ": "
+ entry.getTitle().getPlainText());
}
,但在這條線
ContactFeed resultFeed = client.getFeed(feedUrl, ContactFeed.class);
我得到以下異常:
java.lang.NullPointerException: No authentication header information
com.google.gdata.util.AuthenticationException.initFromAuthHeader(AuthenticationException.java:96)
com.google.gdata.util.AuthenticationException.<init>(AuthenticationException.java:67)
com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:600)
com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563)
com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552)
com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530)
com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535)
com.google.gdata.client.Service.getFeed(Service.java:1135)
com.google.gdata.client.Service.getFeed(Service.java:1077)
com.google.gdata.client.GoogleService.getFeed(GoogleService.java:662)
com.google.gdata.client.Service.query(Service.java:1237)
com.google.gdata.client.Service.query(Service.java:1178)
com.raisonne.oauth.CallBackAction.execute(CallBackAction.java:66)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
....
我已經申請什麼不同被提及論壇,但它沒有解決問題。我應該怎麼做才能解決這個問題?
如果你真的卡住了,你的HTTP流的目標[Wireshark的(http://en.wikipedia.org/wiki/Wireshark)。 (至少,跟蹤中的'checkResponse()'方法名稱使我認爲它實際上發送了一些HTTP。) – sarnold