您在這裡

關於facebook和drupal之間的問題

renren's 的頭像
renren 在 2012-03-27 (二) 18:04 發表

各位drupal的前輩好:

我是drupal的菜鳥,使用的是版上所提供的drupal-7.12中文化的版本,因為遇到facebook和drupal之間的問題想請問各位

想做的事情是:
我會在drupal上做一個推薦系統,然後透過drupal來存取該使用者facebook上的好友名單,假如該使用者的朋友在我所製作的推薦系統中
有做推薦的動作,則會在該使用者的介面中顯示朋友們推薦了哪些東西

問題描述:
在發文之前,我有爬過文章和找了相關資料;在模組方面,我有看到有人說要安裝
1. Facebook Connect
http://drupal.org/project/fbconnect
2. Drupal for Facebook
http://drupal.org/project/fb

另外,我也找到Facebook social plugins integration
http://drupal.org/project/fb_social

但是在看完project的描述後,只是感覺好像需要使用,卻不太懂要怎麼去使用這些模組

其次,我找到facebook有graph API可以使用http://developers.facebook.com/docs/reference/api/
但是對於PHP的語法和觀念上,其實我是不太懂的,更別說要怎麼去應用了
不過,我已經嘗試在facebook上弄出hello wrold了

簡單來說,我卡在「怎麼透過drupal來存取該使用者facebook上的好友名單」的這個步驟了

敘述的文字有點多,希望各位前輩能不吝指教,先謝謝了>"<

如果可以寫程式, 可以使用drupal for FB模組
透過$GLOBALS['_fb']來使用graph API:
$fb = $GLOBALS['_fb']
$friends = $fb->api('/me/friends');

讀取好友的facebook ID:
foreach ($friends['data'] as $friend) {
$fb_id[] = $friend['id'];
}

以解決

原來在sites\default\settings.php的 settings.php這個檔案是唯讀,才無法更改程式碼

在settings.php最後面加上

$conf['fb_api_file'] = 'sites/all/libraries/facebook-php-sdk/src/facebook.php';
//// Code to add to settings.php:
/////////////////////////////////

/**
* Drupal for Facebook settings.
*/

if (!is_array($conf))
$conf = array();

$conf['fb_verbose'] = TRUE; // debug output
$conf['fb_verbose'] = 'extreme'; // for verbosity fetishists.

// More efficient connect session discovery.
// Required if supporting one connect app and different canvas apps.
$conf['fb_id'] = '268639XXXX46639'; // Your connect app's ID goes here.

// Enable URL rewriting (for canvas page apps).
include "sites/all/modules/fb/fb_url_rewrite.inc";
include "sites/all/modules/fb/fb_settings.inc";

// end of settings.php

這些程式碼加上去後存檔,就可以解決問題了