كيف الربيع التواصل الاجتماعي

قبل بضعة أيام أكتب تكامل الفيسبوك باستخدام البرنامج التعليمي الربيع. هنا هو رمز بلدي

FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory("appId", "appSecret");
    OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();
    OAuth2Parameters params = new OAuth2Parameters("http://localhost:8080/shop/facebook");
    String authorizeUrl = oauthOperations.buildAuthorizeUrl(GrantType.IMPLICIT_GRANT, params);

    try {
        response.sendRedirect(authorizeUrl);
        LOG.error("ALL WORKING FINE>>>");
    } catch (IOException e) {
        LOG.error("Errorrrrr" + e);
    }
    return null;

ثم ينبغي لي الحصول على access_token ، لكنه يأتي لي في جزء التجزئة من URL (لذلك ينبغي لي الحصول على access_token باستخدام JS) - بطريقة خاطئة. بعد أن قمت بتثبيت برنامج تعليمي آخر الربيع الاجتماعي السريع ولا أستطيع أن أفهم كيف يتم استرجاع access_token؟ ما يجب أن أكتب للحصول على access_token على جانب الخادم. هل يجب أن يكون هناك بعض الاعتراضات على الطلب ، أو هل هناك طرق أخرى؟

0
ما لا يعمل لديك؟ ماهي الاخطاء التي حصلت عليها؟ هل لديك مشكلة مع الكود المحدد؟ اعرض الرمز.
وأضاف المؤلف maksimov, مصدر

1 إجابة

كانت المشكلة أنني أتوقع access_token - ولكن هذا هو إذن من جانب العميل. لذلك ينبغي أن أتوقع رمز ترخيص لإجراء مصادقة من جانب الخادم.

ولكن الآن المشكلة التي اشتعلت الاستثناء هنا على سطر accessGrant. هو وحدة تحكم أخرى. يمكنني الحصول على authCode ولكن تبين لي استثناء 400: Badrequest.

@RequestMapping(method = RequestMethod.GET) 
public String getAuthorisation(NativeWebRequest webRequest, HttpServletResponse response, HttpServletRequest request) {
    FacebookConnectionFactory connectionFactory = 
            new FacebookConnectionFactory("clientId", "clientSecret");
    OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();

String authCode = request.getParameter("code");     
    LOG.error("Facebook  controller works... 1");
    LOG.error(authCode);

    AccessGrant accessGrant = oauthOperations.exchangeForAccess(authCode, "http://localhost:8080/shop/pages/social.jsp", null);
    LOG.error("Facebook  controller works... 2");
    Connection connection = connectionFactory.createConnection(accessGrant);
    LOG.error("Facebook  controller works... 3");
    return null;

} 
0
وأضاف