2011-09-09 146 views
4

我有下面的代碼將使用圖形API發送Facebook應用請求/邀請使用圖形API

function getFriendsList(){ 

    $response = $this->api('/me/friends'); 
    return $response; 

    } 

這將返回朋友id和name得到烏爾好友列表。使用圖形API

然後我在我的Joomla模塊執行此代碼:

$fbClient = JFBConnectFacebookLibrary::getInstance(); 
$fbUserId = $fbClient->getUserId(TRUE); 

//If FB User 
if($fbUserId){ 

$f_list = $fbClient->getFriendsList(); 

後,我得到的陣列I顯示firends圖片

foreach ($f_list as $friend) { 
    for($i = 0; $i < count($friend); $i++) 
     { 

     echo '<img src="http://graph.facebook.com/'.$friend[$i]['id'].'/picture"><br/>'; 
     } 
    } 

} 

這將創造我的朋友的個人資料照片。

我的問題是如何創建一個點擊數即使如此,當我點擊照片我可以給個人的Facebook應用程序的請求。 ???

回答

6

發送的Facebook應用程序請求不是通過圖形API可用。您可以使用app requests javascript dialog來,雖然發送請求,你只需要在「到」屬性來指定用戶的ID,如文檔中詳細說明。

採樣功能:

<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> 

然後剛絲爲每個圖像一個onclick喜歡的東西onclick="return sendRequest('**friendId**');"

+0

c爲null [打破該誤差] FB.provide( '的Dom',{containsCss:功能...(oldonload);}否則oldonload();};})(); – ivias

+0

我不是在Facebook上的專家,但讀通文章http://developers.facebook.com/blog/post/464/它說,你可以發送郵件使用PHP API的應用程序的請求。這篇文章比這篇文章早,所以可能已經過時了。你知道它可能嗎?由於 –

+9

你不能從一個用戶邀請通過圖形API另一個用戶發送應用程序的請求。一旦用戶批准該應用程序,開發人員就會發送垃圾郵件並邀請其列表中的每個朋友。您指的是應用生成的請求,這些請求可以按照您提及的方式提供。 – bkaid

5

我有同樣的問題。雖然回答問題已經很晚了,但它會幫助某人。這就是回答這個問題的原因。

相反,你可以在JavaScript中調用這個函數: 它會給你的照片所有的朋友。還有一羣正在使用相同應用的朋友。您可以向其中的任何人發送請求。

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