Cấp bậc tác giả:

DOTNET

Gửi bài viết lên Facebook sử dụng Công nghệ Asp.Net(ngôn ngữ C#)

Được viết bởi QuangIT ngày 13/03/2013 lúc 08:48 PM
Bài viết này sẽ hướng dẫn cách làm thế nào để gửi nội dung (trạng thái, hình ảnh, video, URL) lên tường Facebook của người dùng sử dụng công nghệ ASP.Net. Đây là tính năng khá hay và được áp dụng trong nhiều dự án của Tôi, và Tôi quyết định chia sẻ nó với độc giả.
  • 0
  • 11222
Tải tệp tin: Click ở đây

Gửi bài viết lên Facebook sử dụng Công nghệ Asp.Net(ngôn ngữ C#)

Bài viết này sẽ hướng dẫn cách làm thế nào để gửi nội dung (trạng thái, hình ảnh, video, URL) lên tường Facebook của người dùng sử dụng công nghệ ASP.Net. Đây là tính năng khá hay và được áp dụng trong nhiều dự án của Tôi, và Tôi quyết định chia sẻ nó với độc giả. 
Bắt đầu 
Đầu tiên cần tạo ra một trang web mới trong ASP.Net sử dụng C#. Bây giờ đăng nhập vào Facebook và nhấn vào liên kết developer và tạo ra một ứng dụng mới, cung cấp tên ứng dụng và bấm vào nút "Continue". 
face01.jpg
Bây giờ cung cấp mã xác thực(captcha) trong ô TextBox và nhấn "Continue".
face02.jpg
Như vậy bạn đã có AppID và App Secret. Bạn chỉ cần sao chép chúng. Và chép URL trang web của bạn và nhấp vào "Save changes". 
face03.jpg
Bây giờ chúng ta hãy bắt đầu làm việc trên giao diện người dùng. Trong ví dụ này tôi sẽ giải thích hai cách để viết nguồn cấp dữ liệu 
Kịch bản đầu tiên: Một button Share bình thường 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
        <div id="fb-root">
        </div>
        <script>
            window.fbAsyncInit = function () {
                FB.init({ appId: '174919555989537', status: true, cookie: true,
                    xfbml: true
                });
            };
            (function () {
                var e = document.createElement('script'); e.async = true;
                e.src = document.location.protocol +'//connect.facebook.net/en_US/all.js';
                document.getElementById('fb-root').appendChild(e);
            } ());
        </script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#share_button').click(function (e) {
                    e.preventDefault();
                    FB.ui(
{
    method: 'feed',
    name: 'Kiểm tra bài viết qua Tool tự xây dựng',
    link: 'http://dngaz.com/TinTucND.aspx?IdTinTuc=149&TieuDe=Chuc-mung-ngay-Quoc-Te-Phu-Nu-832013',
    picture: 'http://dngaz.com/../Upload/TacGia/300612093903safe_image.png',
    caption: 'Chúc mừng ngày Quốc Tế Phụ Nữ 8/3/2013',
    description: 'Nhân ngày 8/3, DOTNET GROUP kính chúc phái Nữ luôn xinh tươi, hạnh phúc và vui vẻ.',
    message: 'Hello Test Message'
});
                });
            });
        </script>
        <div>
            <input type="button" id="share_button" value="Chia Sẻ" />
        </div>
Chạy ứng dụng
face04.jpg
Nhập 1 thông báo và nhấn Share
face05.jpg
Vào tường nhà bạn sẽ thấy bài post
Kịch bản thứ 2: Truy cập ứng dụng, tùy chỉnh bất kỳ(hay hơn, hấp dẫn hơn nhiều)
Thêm Facebook client dll trong thư mục bin và thực hiện code phía bên trong codebehind
Để thêm Facebook dll, đầu tiên truy cập website http://nuget.org/ để tải tool NuGet.Tools.vsix
Sau khi cài đặt thành công, khởi động lại project. Sau đó chuột phải lên project chọn Manage NuGet Packages...
face06.jpg
Tìm kiếm Facebook, chọn Install để tải facebook.dll về và add vào thư mục bin.
face07.jpg
Sau khi Add xong thì copy đoạn code này vào default2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Net;
using Facebook;

public partial class Default2 : System.Web.UI.Page
{
    string bodymessage = "This is test message description new";
    protected void Page_Load(object sender, EventArgs e)
    {
        CheckAuthorization();
    }

    private void CheckAuthorization()
    {
        string app_id = "174919555989537";
        string app_secret = "67d8eea342a2fe39c1f7f15300a75ca4";
        string scope = "publish_stream,manage_pages";

        if (Request["code"] == null)
        {
            Response.Redirect(string.Format(
                "https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}",
                app_id, Request.Url.AbsoluteUri, scope));
        }
        else
        {
            Dictionary<string, string> tokens = new Dictionary<string, string>();

            string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}",
                app_id, Request.Url.AbsoluteUri, scope, Request["code"].ToString(), app_secret);

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());

                string vals = reader.ReadToEnd();

                foreach (string token in vals.Split('&'))
                {
                    tokens.Add(token.Substring(0, token.IndexOf("=")),
                        token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1));
                }
            }

            string access_token = tokens["access_token"];

            var client = new FacebookClient(access_token);

            client.Post("/me/feed", new { message = bodymessage });
        }
    }
}

Chạy Website
face08.jpg
Vì chạy trên localhost nên nó không thể hiển thị đầy đủ nội dung ra được, để hoàn chỉnh ví dụ này, bạn cần publish lên host để chạy trực tiếp thay vì chạy trên máy mình. Đây là Demo kịch bản 2.

Bạn có thể tải Source Code đầy đủ phía trên bài viết này.

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML