Send Facebook App Request/Invite using Graph Api

27,020

Solution 1

Sending Facebook app requests are not available via the graph api. You can use the app requests javascript dialog to send the request though, you would just need to specify the user's id in the "to" property as detailed in the documentation.

Sample function:

<script>
  FB.init({ appId: '**appId**', status: true, cookie: true, xfbml : true });

  function sendRequest(to) {
    FB.ui({method: 'apprequests', to: to, message: 'You should learn more about this awesome site.', data: 'tracking information for the user'});
    return false;
  }
</script>

Then just wire an onclick for each image to something like onclick="return sendRequest('**friendId**');"

Solution 2

I had same problem. Though it is very late for answering question, it will help somebody. That's why answering this question.

Instead you can call this function in javascript: it will give you all friends with photos. Also group of friends who are currently using same app. You can send request to any of them.

function sendRequestViaMultiFriendSelector() {
    FB.ui({
        method: 'apprequests',
        message: "You should learn more about this awesome site."
    });     
}
Share:
27,020
ivias
Author by

ivias

Outgoing humble person always trying to learn and develop skills.

Updated on July 05, 2022

Comments

  • ivias
    ivias almost 2 years

    I have the following code that would get ur friends list using graph api

    function getFriendsList(){
    
        $response = $this->api('/me/friends'); 
         return $response;
    
        }
    

    This returns friends id and name. using graph api

    I then execute this code in my joomla module:

    $fbClient = JFBConnectFacebookLibrary::getInstance();
    $fbUserId = $fbClient->getUserId(TRUE);   
    
    //If FB User
    if($fbUserId){
    
    $f_list = $fbClient->getFriendsList();
    

    after i get the array i display the firends picture

    foreach ($f_list as $friend) {
        for($i = 0; $i < count($friend); $i++)
            { 
    
            echo '<img src="http://graph.facebook.com/'.$friend[$i]['id'].'/picture"><br/>';
            }
       }
    
    }
    

    This would create the profile photos of my friends.

    My question is how do i create an onlick even so that when i click the photo i can send an individual facebook app request. ???