如何将节点导入Facebook墙



我想将drupal节点和博客导入Facebook墙。我应该为此功能使用哪个模块?

您可能对 Drupal for Facebook 模块感兴趣。

这组模块和主题将Drupal变成了开发Facebook应用程序的平台。这允许您在Facebook中嵌入您的内容和功能,或允许Facebook用户通过Facebook Connect访问您的网站。

使用 Drupal

for Facebook,您可以在 Facebook 应用程序中利用 Drupal 的所有功能。如果你已经在Drupal中拥有内容,你可以在Facebook上公开它。

Drupal for Facebook 的理念是,Drupal 中已经内置的功能应该用于创建 Facebook 应用程序。在可能的情况下,我们使用Drupal的用户管理,权限方案,块,视图等来实现Facebook应用程序。 有经验的Drupal用户会发现构建Facebook应用程序非常简单。而刚接触Drupal的Facebook开发人员可能希望花一些时间 Drupal.org 学习最佳实践。

Drupal for Facebook 包含几个子模块。仅启用所需的那些。例如,如果您需要社交插件,只需启用 fb.module。对于 Facebook Connect,请启用 fb_connect.module;画布页面,fb_canvas.模块;墙上的帖子和状态更新,fb_stream.模块;等等...

试试这个发布在你的Facebook页面墙上。

  1. 下载脸书 PHP SDK

  2. 实现 hook_node_submit() 钩子,并使用以下代码。

    function YOUR_MODULE_node_submit($node, $form, &$form_state)
    {
        $node_types = array("article", "blog");
        if(in_array($node->type, $node_types) && $form_state['clicked_button']['#id'] == "edit-submit")
        {
            $message = $form_state['values']['title'];
            $description = $form_state['values']['body'];
            $picture = $form['YOUR_IMAGE_FIELD']['und']['0']['#file']->uri;
            send_to_facebook($message, $description, $picture);
        }
    }
    function facebook_oauth_init($facebook_app_id, $facebook_app_secret, $cookie = false)
    {
        $facebook = new Facebook(array("appId" => $facebook_app_id, "secret" => $facebook_app_secret, "cookie" => $cookie));
        return $facebook;
    }
    function send_to_facebook($msg, $desc, $pic)
    {
        if(!class_exists('Facebook'))
            require_once('facebook/facebook.php');
        $fb_app_id = "YOUR_APP_ID";
        $fb_app_secret = "YOUR_APP_SECRET";
        $fb_user_id = "THE_USER_ID_OF_THE_ADMIN_FOR_THIS_PAGE";
        $fb_page_id = "YOUR_PAGE_ID";
        $fb_access_token = "YOUR_ACCESS_TOKEN";
        $fb_reirect_uri = "";
        $access_token_2 = '';
        foreach($accounts as $acc)
        {
            if($fb_page_id == $acc['id'])
            {
                $access_token_2 = $acc['access_token'];
                break;
            }
        }
        $fb_post_array = array(
            'access_token'      => $access_token_2,
            'message'           => $msg,
            'picture'           => render(file_create_url($pic)),
            'description'       => $desc,
            'link'              => $fb_reirect_uri,
        );
        if($picture == NULL || $picture == "")
            unset($fb_post_array['picture']);
        $fb_now = $facebook->api("/" . $fb_page_id . "/feed", "post", $fb_post_array);
    }
    

这就是我为将节点发布到我的Facebook页面所做的一切。

希望它有效...穆罕默德。

最新更新