0

DrupalノードとブログをFacebookのウォールにインポートしたいと思います。この機能にはどのモジュールを使用すればよいですか?

4

2 に答える 2

1

おそらく、 Drupal for Facebookモジュールに興味があるでしょう。

この一連のモジュールとテーマは、Drupal を Facebook アプリケーションを開発するためのプラットフォームに変えます。これにより、コンテンツや機能を Facebook に埋め込んだり、Facebook ユーザーが Facebook Connect を介してサイトにアクセスできるようになります。

Drupal for Facebook を使用すると、Drupal のすべての機能を Facebook アプリで活用できます。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.module; ウォールの投稿とステータスの更新、 fb_stream.module ; 等々...

于 2012-04-09T09:59:52.823 に答える
0

これを試して、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ページにノードを投稿するために行ったのはこれだけです。

それがうまくいくことを願っています...ムハンマド。

于 2012-04-10T07:31:15.117 に答える