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

فيس بوك شات

اذهب الى الأسفل

فيس بوك شات Empty فيس بوك شات

مُساهمة من طرف أيمن الإبراهيم الأربعاء أغسطس 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 مع المرفقات
المرفقات
فيس بوك شات Attachment
facebook4j-master.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(409 Ko) عدد مرات التنزيل 4
فيس بوك شات Attachment
facebook4j-oauth-example-master.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(9 Ko) عدد مرات التنزيل 2
أيمن الإبراهيم
أيمن الإبراهيم
........
........

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

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

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

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


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

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

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

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

مُساهمة من طرف أحمد مناع الجمعة أغسطس 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
أخى الكريم أيمن ....راجع الدرس التالى و ستجد بعض المفاهيم الخاصة بتلك المكتبات قد وضحت اليك 

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

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

تحياتى

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

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

https://egy-tech.forumegypt.net

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

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

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


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

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

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

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


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