2011-07-14 4 views
1

SocialAuth getting started guideは、コードサンプルを次ていますなぜ、socialauthは与えられたパラメータマップ上でクラスキャスト例外を与えていますか?

// get the auth provider manager from session 
    SocialAuthManager manager = (SocialAuthManager)session.getAttribute("authManager"); 

    // call connect method of manager which returns the provider object. 
    // Pass request parameter map while calling connect method. 
    AuthProvider provider = manager.connect(paramsMap); 

    // get profile 
    Profile p = provider.getUserProfile(); 

    // you can obtain profile information 
    System.out.println(p.getFirstName()); 

    // OR also obtain list of contacts 
    List<Contact> contactsList = provider.getContactList(); 

ライン3-4のコメントは、私たちがmanager.connect()にリクエストパラメータのマップを渡す必要があることを言います。

manager.connect(request.getParameterMap()); 
しかし、それは

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String 

私はrequest.getParameterMap()によって返されたマップを渡すのではなく、私自身のパラメータマップを作成する必要がありますを与える:私が試しましたか?自分の質問に答える

答えて

0

socialauthソースは、次のコードのサンプルがあります:ClassCastExceptionが修正

Map<String, String> paramsMap = SocialAuthUtil.getRequestParametersMap(request);    
AuthProvider provider = manager.connect(paramsMap);