Пример #1
0
        /// <summary>
        /// Main Facebook class
        /// Looks up authentication data in db. If not found, call Temboo services to get an accessToken.
        /// Save it to the db.
        /// </summary>
        public Facebook()
        {
            // Instantiate the Choreo, using a previously instantiated TembooSession object, eg:
            var appSettings = ConfigurationManager.AppSettings;
            //session = new TembooSession(appSettings.Get("Temboo_account"),
            //    appSettings.Get("Temboo_application"),
            //    appSettings.Get("Temboo_application_key"));
            session = new TembooSession("keepitpumping", "KeepItPumping-Awareness-Map", "692238482e2b4bc7b62d09234193c202");
            app_id = appSettings.Get("Facebook_app_id");
            app_secret = appSettings.Get("Facebook_app_secret");

            amDB = new AwarenessMapDB();
            amDB.getFacebookAuth(ref accessToken);
            if (accessToken == "")
            {
                InitializeOAuth initializeOAuthChoreo = new InitializeOAuth(session);

                // Set inputs
                initializeOAuthChoreo.setAppID(app_id);
                initializeOAuthChoreo.setScope("public_profile, email, user_about_me, user_friends, user_likes, user_status," +
                    "publish_pages, publish_actions, read_insights,user_managed_groups, user_status, user_videos," +
                    "user_website, manage_pages, read_insights");

                // Execute Choreo
                InitializeOAuthResultSet initializeOAuthResults = initializeOAuthChoreo.execute();

                callBackId = initializeOAuthResults.CallbackID;

                Process.Start(initializeOAuthResults.AuthorizationURL);
                Thread.Sleep(10000);

                FinalizeOAuth finalizeOAuthChoreo = new FinalizeOAuth(session);

                // Set inputs
                finalizeOAuthChoreo.setCallbackID(callBackId);
                finalizeOAuthChoreo.setAppSecret(app_secret);
                finalizeOAuthChoreo.setAppID(app_id);

                // Execute Choreo
                FinalizeOAuthResultSet finalizeOAuthResults = finalizeOAuthChoreo.execute();
                accessToken = finalizeOAuthResults.AccessToken;
                amDB.updateFacebookAuth(accessToken);
            }
        }