1

私はで働いていgoogleappます。私のプロジェクトでは、LinkedIn から接続を取得します。ローカルでは正常に動作しますが、デプロイするgoogleappengineと動作しません。私のコントロールは http から https(LinkedIn Login Page ) に移動し、その時点で私のセッション値は null です。助けてください。

            OAuthService service = new ServiceBuilder()
        .provider(LinkedInApi.class)
         .apiKey("ln835u1zgg0c")
         .apiSecret("I9Bz3lloYT8jlO6P").scope("r_network")
          .callback("http://mygbuddy.appspot.com/CallBackUrl.jsp")
           .build();


        Token requestToken=service.getRequestToken();
        HttpSession session=request.getSession();
        session.setAttribute("service", service);
        session.setAttribute("requesttoken", requestToken);


              CallBackUrl.jsp
            <%
                  out.println(session.getAttribute("service"););


                 %>

jspでnullになりました助けてください

4

1 に答える 1

0

GAE は分散システムです。したがって、リクエストは、開始された複数のインスタンスのいずれでも処理できます。異なるインスタンス間の共通のセッション データは、DataStore 永続性を使用して行われます。何かをセッションに入れると、実際には DataStore に保存されます。これは、属性が DataStore の永続的な要件 ( https://developers.google.com/appengine/docs/java/datastore/entities ) に従う必要があることを意味します。

標準の OAUthServiceImpl GAE クラスはシリアル化できません ( http://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/api/oauth/OAuthServiceImpl.java?rを確認してください)。 =194 ) したがって、DataStore に格納して後でアクセスすることはできません。

于 2012-10-24T21:26:48.897 に答える