i configure openinviter with Codeigniter. gamil conatact is fetching but yahoo and facebook contacts list are not working.any suggestion will be appre.

Recommended Answers

All 9 Replies

Member Avatar for LastMitch

@rohitrohitrohit

i configure openinviter with Codeigniter. gamil conatact is fetching but yahoo and facebook contacts list are not working.any suggestion will be appre.

Do you have a code for that? It's hard to understand what you want to do?

acctuly i taken code from open inviter site open source and put credential in config file..
but its working for gmail all my contacts list display.but when selected facebook or yahooo it s always says user name and passwod are incorrent .. i try this thousans of time thinking may be username password are worng butt... no way.. if u want i can attache that class given by open inviter.

Member Avatar for LastMitch

@rohitrohitrohit

when selected facebook or yahooo it s always says user name and passwod are incorrent

What is the actually error? Can you show the code that you are installing? It should be a small code that show the error. Another words just show the message of the error on that file.

Login failed. Please check the email and password you have provided and try again later !
my gamil and facebook password are same .. gmail is working but facebook and yahoo not...above error is showing.

Member Avatar for LastMitch

@rohitrohitrohit

Login failed. Please check the email and password you have provided and try again later !
my gamil and facebook password are same .. gmail is working but facebook and yahoo not...above error is showing.

Can you show the code that you are using from open inviter that you are working on?

<?php
/*Import Friends from Facebook
 * You can send message to your Friends Inbox
 */
$_pluginInfo=array(
    'name'=>'Facebook',
    'version'=>'1.3.1',
    'description'=>"Get the contacts from a Facebook account",
    'base_version'=>'1.8.4',
    'type'=>'social',
    'check_url'=>'http://apps.facebook.com/causes/',
    'requirement'=>'email',
    'allowed_domains'=>false,
    );
/**
 * FaceBook Plugin
 * 
 * Imports user's contacts from FaceBook and sends
 * messages using FaceBook's internal system.
 * 
 * @author OpenInviter
 * @version 1.0.8
 */
class facebook extends openinviter_base
    {
    private $login_ok=false;
    public $showContacts=true;
    public $internalError=false;
    protected $timeout=30;
    protected $userId;

    public $debug_array=array(
                'initial_get'=>'pass',
                'login_post'=>'javascript',
                'get_user_id'=>'profile.php?id=',               
                'url_friends'=>'fb_dtsg:"',                             
                'message_elements'=>'fb_dtsg',
                'send_message'=>'"__ar":1',
                );

    /**
     * Login function
     * 
     * Makes all the necessary requests to authenticate
     * the current user to the server.
     * 
     * @param string $user The current user.
     * @param string $pass The password for the current user.
     * @return bool TRUE if the current user was authenticated successfully, FALSE otherwise.
     */
    public function login($user,$pass)
        {
        $this->resetDebugger();
        $this->service='facebook';
        $this->service_user=$user;
        $this->service_password=$pass;
        if (!$this->init()) return false;

        $res=$this->get("http://apps.facebook.com/causes/",true);

        if ($this->checkResponse("initial_get",$res)) $this->updateDebugBuffer('initial_get',"http://apps.facebook.com/causes/",'GET');
        else{
            $this->updateDebugBuffer('initial_get',"http://apps.facebook.com/causes/",'GET',false);
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }       
        $form_action="https://login.facebook.com/login.php?login_attempt=1";
        $post_elements=array('email'=>$user,
                             'pass'=>$pass,
                             'next'=>'http://apps.facebook.com/causes/home?_method=GET',
                             'return_session'=>0,
                             'req_perms'=>0,
                             'session_key_only'=>0,
                             'api_key'=>$this->getElementString($res,'name="api_key" value="','"'),
                             'version'=>'1.0',
                             );
        $res=$this->post($form_action,$post_elements,true,true);

        if ($this->checkResponse("login_post",$res)) $this->updateDebugBuffer('login_post',"{$form_action}",'POST',true,$post_elements);
        else{
            $this->updateDebugBuffer('login_post',"{$form_action}",'POST',false,$post_elements);
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }

        $res=$this->get('http://facebook.com/',true);       
        if ($this->checkResponse("get_user_id",$res)) $this->updateDebugBuffer('get_user_id',"http://facebook.com/",'GET');
        else{
            $this->updateDebugBuffer('get_user_id',"http://facebook.com/",'GET',false);
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }                       
        $this->userId=$this->getElementString($res,"{user:",',');                       
        if (empty($this->userId)) $this->login_ok=false;
        else $this->login_ok="http://www.facebook.com/ajax/social_graph/fetch.php?__a=1";
        return true;
        }

    /**
     * Get the current user's contacts
     * 
     * Makes all the necesarry requests to import
     * the current user's contacts
     * 
     * @return mixed The array if contacts if importing was successful, FALSE otherwise.
     */ 
    public function getMyContacts()
        {               
        if (!$this->login_ok)
            {
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }
        else $url=$this->login_ok;
        $res=$this->get("http://www.facebook.com/profile.php?id={$this->userId}",true);
        if (strpos($res,'window.location.replace("')!==FALSE)
            {
            $url_redirect=stripslashes($this->getElementString($res,'window.location.replace("','"'));
            if (!empty($url_redirect)) $res=$this->get($url_redirect,true); 
            }
        if ($this->checkResponse("url_friends",$res)) $this->updateDebugBuffer('url_friends',"http://www.facebook.com/profile.php?id={$this->userId}&ref=profile",'GET');
        else{
            $this->updateDebugBuffer('url_friends',"http://www.facebook.com/profile.php?id={$this->userId}&ref=profile",'GET',false);
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }
        $postFormId=$this->getElementString($res,'name="post_form_id" value="','"');
        $fbDtsg=$this->getElementString($res,'fb_dtsg:"','"');
        $page=0;
        $form_action=$this->login_ok;
        $post_elements=array('edge_type'=>'browse',
                             'page'=>$page,
                             'limit'=>100,
                             'node_id'=>$this->userId,
                             'class'=>'FriendManager',
                             'post_form_id'=>$postFormId,
                             'fb_dtsg'=>$fbDtsg,
                             'post_form_id_source'=>'AsyncReques',
                            );
        $res=$this->post($form_action,$post_elements,true);
        $contacts=array();
        while(preg_match_all("#\{\"id\"\:(.+)\,\"title\"\:\"(.+)\"#U",$res,$matches))
            {
            $page++;
            $post_elements=array('edge_type'=>'browse',
                             'page'=>$page,
                             'limit'=>100,
                             'node_id'=>$this->userId,
                             'class'=>'FriendManager',
                             'post_form_id'=>$postFormId,
                             'fb_dtsg'=>$fbDtsg,
                             'post_form_id_source'=>'AsyncReques',
                            );
            $res=$this->post($form_action,$post_elements);
            if (!empty($matches[1]))
                foreach($matches[1] as $key=>$fbId)
                    if (!empty($matches[2][$key])) $contacts[$fbId]=$matches[2][$key];                  
            }
        return $contacts;
        }

    /**
     * Send message to contacts
     * 
     * Sends a message to the contacts using
     * the service's inernal messaging system
     * 
     * @param string $session_id The OpenInviter user's session ID
     * @param string $message The message being sent to your contacts
     * @param array $contacts An array of the contacts that will receive the message
     * @return mixed FALSE on failure.
     */
    public function sendMessage($session_id,$message,$contacts)
        {
        $res=$this->get('http://www.facebook.com/home.php?#!/?sk=messages',true);
        if ($this->checkResponse("message_elements",$res)) $this->updateDebugBuffer('message_elements',"http://www.facebook.com/home.php?#!/?sk=messages",'GET');
        else{
            $this->updateDebugBuffer('message_elements',"http://www.facebook.com/home.php?#!/?sk=messages",'GET',false);
            $this->debugRequest();
            $this->stopPlugin();
            return false;
            }   
        $postFormId=$this->getElementString($res,'name="post_form_id" value="','"');
        $fbDtsg=$this->getElementString($res,'fb_dtsg:"','"');
        $form_action="http://www.facebook.com/ajax/messaging/async.php?__a=1";
        $post_elements=array();             
        $countMessages=0;
        foreach($contacts as $fbId=>$name)
            {
            $countMessages++;
            if ($countMessages>$this->maxMessages) break;           
            $post_elements=array( 'forward_msg'=>'',
                                  'body'=>$message['body'],                               
                                  'action'=>'send',
                                  'recipients[0]'=>$fbId,
                                  'force_sms'=>false,
                                  'post_form_id'=>$postFormId,
                                  'fb_dtsg'=>$fbDtsg,                                 
                                  'post_form_id_source'=>'AsyncRequest'                               
                                  );
            $res=$this->post($form_action,$post_elements);
            if ($this->checkResponse("send_message",$res)) $this->updateDebugBuffer('send_message',"{$form_action}",'POST',true,$post_elements);
            else{
                $this->updateDebugBuffer('send_message',"{$form_action}",'POST',false,$post_elements);
                $this->debugRequest();
                $this->stopPlugin();
                return false;
                }
            sleep($this->messageDelay);
            if ($countMessages>$this->maxMessages) { $this->debugRequest();$this->resetDebugger();$this->stopPlugin();break; }
            }                       
        }

    /**
     * Terminate session
     * 
     * Terminates the current user's session,
     * debugs the request and reset's the internal 
     * debudder.
     * 
     * @return bool TRUE if the session was terminated successfully, FALSE otherwise.
     */ 
    public function logout()
        {
        if (!$this->checkSession()) return false;
        $res=$this->get("http://www.facebook.com/home.php",true);
        if (!empty($res)) $res=$this->get('http://www.facebook.com/logout.php?h='.html_entity_decode($this->getElementString($res,'http://www.facebook.com/logout.php?h=','"')));       
        $this->debugRequest();
        $this->resetDebugger();
        $this->stopPlugin();
        return true;    
        }
    }   

?>
Member Avatar for LastMitch

@rohitrohitrohit

I made a change:

This is on line 96:

From your old code:

$this->userId=$this->getElementString($res,"{user:",',');

To your new code:

$this->userId = $this->getElementString($res,"user:",',');

Test your code now.

Also read this thread apparently you are not the only one who is having this issue:

http://openinviter.com/forum/viewtopic.php?id=1297

try above and try func in above mention thred but not getting ... still getting message error.
after reading some blog they are showing that fb retricted ... those contact fetching... any idea....

Member Avatar for LastMitch

@rohitrohitrohit

try above and try func in above mention thred but not getting ... still getting message error.after reading some blog they are showing that fb retricted ... those contact fetching... any idea....

Whatever you read is most likely I read it too. You have to understand you can't doing anything about it.

Here is a link of alternative:

http://www.moreofit.com/similar-to/openinviter.com/Top_10_Sites_Like_Openinviter/

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.