Java “线程中的异常”;“主要”;org.scribe.exceptions.oautheexception:响应正文不正确

Java “线程中的异常”;“主要”;org.scribe.exceptions.oautheexception:响应正文不正确,java,oauth-2.0,scribe,Java,Oauth 2.0,Scribe,当运行scribe登录google的示例时,它显示了以下错误。 我正在使用scribe-1.3.1.jar文件。 请告诉我如何解决它 代码是: import org.scribe.builder.*; import org.scribe.builder.api.*; import org.scribe.model.*; import org.scribe.oauth.*; public class googleOaoth { private static final String N

当运行scribe登录google的示例时,它显示了以下错误。 我正在使用scribe-1.3.1.jar文件。 请告诉我如何解决它

代码是:

import org.scribe.builder.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.oauth.*;

public class googleOaoth {

    private static final String NETWORK_NAME = "Google";
    private static final String AUTHORIZE_URL = "https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=";
    private static final String PROTECTED_RESOURCE_URL = "https://docs.google.com/feeds/default/private/full/";
    private static final String SCOPE = "https://docs.google.com/feeds/";

    public static void main(String[] args) {
        OAuthService service = new ServiceBuilder().provider(GoogleApi.class).apiKey("Mykey").apiSecret("MySecret").scope(SCOPE).build();
        Scanner in = new Scanner(System.in);

        System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
        System.out.println();

        // Obtain the Request Token
        System.out.println("Fetching the Request Token...");
        Token requestToken = service.getRequestToken();
        System.out.println("Got the Request Token!");
        System.out.println("(if your curious it looks like this: " + requestToken + " )");
        System.out.println();

        System.out.println("Now go and authorize Scribe here:");
        System.out.println(AUTHORIZE_URL + requestToken.getToken());
        System.out.println("And paste the verifier here");
        System.out.print(">>");
        Verifier verifier = new Verifier(in.nextLine());
        System.out.println();

        // Trade the Request Token and Verfier for the Access Token
        System.out.println("Trading the Request Token for an Access Token...");
        Token accessToken = service.getAccessToken(requestToken, verifier);
        System.out.println("Got the Access Token!");
        System.out.println("(if your curious it looks like this: " + accessToken + " )");
        System.out.println();

        // Now let's go and ask for a protected resource!
        System.out.println("Now we're going to access a protected resource...");
        OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
        service.signRequest(accessToken, request);
        request.addHeader("GData-Version", "3.0");
        Response response = request.send();
        System.out.println("Got it! Lets see what we found...");
        System.out.println();
        System.out.println(response.getCode());
        System.out.println(response.getBody());

        System.out.println();
        System.out.println("Thats it man! Go and build something awesome with Scribe! :)");

    }
}
运行上述代码后

=== Google's OAuth Workflow ===

Fetching the Request Token...

Exception in thread "main" org.scribe.exceptions.OAuthException: Response body is     incorrect. Can't extract token and secret from this: 'Timestamp is too far from current time: 1353931608

    at org.scribe.extractors.TokenExtractorImpl.extract(TokenExtractorImpl.java:41)
    at org.scribe.extractors.TokenExtractorImpl.extract(TokenExtractorImpl.java:27)
    at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:52)
    at action.login.googleOaoth.main(googleOaoth.java:34)
Java Result: 1

这最初只是一个评论:


你电脑上的时钟正确吗?时间戳
1353931608
表明您的当地时间是
Fri Jan 16 17:05:31 GMT 1970
。当前时间的时间戳要大1000倍左右…

似乎您的服务器时间设置不正确。请更正服务器时间,在确定时间后,您可能需要重新启动web服务器。
-更改服务器时间。请先尝试重新启动Web服务器。如果无法工作,请重新启动计算机==>它可以工作

你电脑上的时钟正确吗?时间戳
1353931608
表明您的当地时间是
Fri Jan 16 17:05:31 GMT 1970
。当前时间将有一个大约1000倍大的时间戳…太好了,亲爱的,这是正确的。谢谢您的回复。@beny23您能回答这个问题吗?这样OP就可以将其标记为已接受?试图关闭堆栈溢出上所有未回答的抄写员问题。谢谢