فيس بوك شات

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

فيس بوك شات

مُساهمة من طرف أيمن الإبراهيم في الأربعاء أغسطس 21, 2013 10:44 pm

من اجل فيس بوك شات 
ساقدم كود حصلت عليه من المواقع الاجنبية لكن لن ينجح معي والسبب يطلب استيراد مكتبات ولن ينجح احتاج مساعدتكن
الكود هو :
import static com.emobus.stuff.LoggerConstants.facebookUserId;
import static com.emobus.stuff.LoggerConstants.ipAddress;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import org.w3c.dom.Document;

import com.google.code.facebookapi.FacebookException;
import com.google.code.facebookapi.FacebookWebappHelper;
import com.google.code.facebookapi.FacebookXmlRestClient;
import com.google.code.facebookapi.IFacebookRestClient;

/**
 * The Facebook User Filter ensures that a Facebook client that pertains to
 * the logged in user is available in the session object named "facebook.user.client".
 *
 * The session ID is stored as "facebook.user.session". It's important to get
 * the session ID only when the application actually needs it. The user has to
 * authorise to give the application a session key.
 *
 * @author Dave
 */
public class FacebookUserFilter implements Filter {

        private static final Logger logger = LoggerFactory.getLogger(FacebookUserFilter.class);
       
        private String api_key;
        private String secret;
       
        private static final String FACEBOOK_USER_CLIENT = "facebook.user.client";
       
        public void init(FilterConfig filterConfig) throws ServletException {
                api_key = filterConfig.getServletContext().getInitParameter("facebook_api_key");
                secret = filterConfig.getServletContext().getInitParameter("facebook_secret");
                if(api_key == null || secret == null) {
                        throw new ServletException("Cannot initialise Facebook User Filter because the " +
                                                           "facebook_api_key or facebook_secret context init " +
                                                           "params have not been set. Check that they're there " +
                                                           "in your servlet context descriptor.");
                } else {
                        logger.info("Using facebook API key: " + api_key);
                }
        }
       
        public void destroy() {
        }

        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
                try {
                        MDC.put(ipAddress, req.getRemoteAddr());
                       
                        HttpServletRequest request = (HttpServletRequest)req;
                        HttpServletResponse response = (HttpServletResponse)res;
                       
                        HttpSession session = request.getSession(true);
                        IFacebookRestClient<Document> userClient = getUserClient(session);
                        if(userClient == null) {
                            logger.debug("User session doesn't have a Facebook API client setup yet. Creating one and storing it in the user's session.");
                            userClient = new FacebookXmlRestClient(api_key, secret);
                            session.setAttribute(FACEBOOK_USER_CLIENT, userClient);
                        }
                       
                        logger.trace("Creating a FacebookWebappHelper, which copies fb_ request param data into the userClient");
                        FacebookWebappHelper<Document> facebook = new FacebookWebappHelper<Document>(request, response, api_key, secret, userClient);
                        String nextPage = request.getRequestURI();
                        nextPage = nextPage.substring(nextPage.indexOf("/", 1) + 1); //cut out the first /, the context path and the 2nd /
                        logger.trace(nextPage);
                        boolean redirectOccurred = facebook.requireLogin(nextPage);
                        if(redirectOccurred) {
                                return;
                        }
                        redirectOccurred = facebook.requireFrame(nextPage);
                        if(redirectOccurred) {
                                return;
                        }
                       
                        long facebookUserID;
                        try {
                            facebookUserID = userClient.users_getLoggedInUser();
                        } catch(FacebookException ex) {
                            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error while fetching user's facebook ID");
                            logger.error("Error while getting cached (supplied by request params) value " +
                                             "of the user's facebook ID or while fetching it from the Facebook service " +
                                             "if the cached value was not present for some reason. Cached value = {}", userClient.getCacheUserId());
                            return;
                        }
                       
                        MDC.put(facebookUserId, String.valueOf(facebookUserID));
                       
                        chain.doFilter(request, response);
                } finally {
                        MDC.remove(ipAddress);
                        MDC.remove(facebookUserId);
                }
        }

    public static FacebookXmlRestClient getUserClient(HttpSession session) {
            return (FacebookXmlRestClient)session.getAttribute(FACEBOOK_USER_CLIENT);
        }
}



اما بالنسبة لمكتبة facebook api مع المرفقات
المرفقات
facebook4j-master.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(409 Ko) عدد مرات التنزيل 4
facebook4j-oauth-example-master.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(9 Ko) عدد مرات التنزيل 2
avatar
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 397
التقيم : 0
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: فيس بوك شات

مُساهمة من طرف زهراء في الخميس أغسطس 22, 2013 6:24 am


شكرا أخى أيمن ....أنا عندى المكتبة facebook4j و بحاول أدرسها جيدا ...المشكلة أن مافى منتدى عربى يقدم ليها شرح وافى ....
avatar
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: فيس بوك شات

مُساهمة من طرف أحمد مناع في الجمعة أغسطس 23, 2013 9:51 pm



import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession
أخى الكريم أيمن ....راجع الدرس التالى و ستجد بعض المفاهيم الخاصة بتلك المكتبات قد وضحت اليك 

http://egy-tech.forumegypt.net/t578-topic

و أنا الان قد بدأ أكتشف بعض مفاهيم هذا الكود و فى نهاية ها الاسبوع سأخبرك بما قد توصلت اليه 

تحياتى

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة
avatar
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 815
النقاط : 1484
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: فيس بوك شات

مُساهمة من طرف ذوكا في السبت أغسطس 24, 2013 9:41 am


موفقين يا شباب
avatar
ذوكا
.....
.....

تاريخ التسجيل : 26/05/2013
المساهمات : 92
النقاط : 155
التقيم : 11
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى