2011-12-24 43 views
5

Tôi đã nhìn thấy rất nhiều tài liệu về tích hợp giữa các trang web ASP .NET và Facebook, nhưng tôi chưa tìm thấy ví dụ đơn giản, thậm chí sử dụng Facebook C# SDK.Xác thực trang web ASP.NET với facebook

Tất cả những gì tôi muốn là ví dụ "đăng nhập bằng Facebook" và để nhận thông tin người dùng cơ bản (chẳng hạn như tên, email và ảnh).

Các bạn có thể giúp tôi không?

Cảm ơn rất nhiều!

+1

Mặc dù điều này có vẻ như một số câu hỏi cơ bản lặp lại, nó rất đúng, ngay cả khi tôi đã phát triển một cái gì đó tôi không thể tìm thấy bất kỳ ví dụ đàng hoàng và tôi thấy tất cả các loại khác nhau mã trên tất cả các bài đăng trên blog. – gideon

Trả lời

9

như bạn nói using Facebook C# SDK, thì đây là con đường và một số mã cho ứng dụng canvas:

1- Tạo ứng dụng web của bạn từ visual studio
2- cài đặt NuGet và nhận được bằng NuGet Facebook C# SDK
3 từ https://developers.facebook.com/apps/ tạo và định cấu hình ứng dụng của bạn.
4 cấu hình web của bạn để hội nhập facebook:

<configuration> 
    <configSections> 
    <section name="facebookSettings" type="Facebook.FacebookConfigurationSection" /> 
    </configSections> 
    <facebookSettings appId="123..." appSecret="abc...." siteUrl="http://apps.facebook.com/myapp/" canvasPage="http://app.facebook.com/myapp" secureCanvasUrl="https://myapp.com/" canvasUrl="http://myapp.com/" cancelUrlPath="http://www.facebook.com/" /> 
... 

Bằng cách sử dụng sdk, bạn có thể phân tích cú pháp ký yêu cầu hoặc cookie được viết bởi facebook js sdk

FacebookWebContext fbWebContext = new FacebookWebContext(); 
//Check if user auhtenticated 
bool IsAuthenticated = fbWebContext.IsAuthenticated(); 

Ở đây bạn có thể có người bạn đếm theo:

FacebookWebClient fbWebClient = new FacebookWebClient(); 
dynamic result = fbWebClient.Get("me/friends"); 
var friends = result["data"]; 
int frienCount = friends.Count; 

Đối với các mặt hàng:

<body> 
<div id="fb-root"></div> 
<script> 

window.fbAsyncInit = function() { 
    FB.init({ 
    appId: '123...', 
    status: true, 
    cookie: true, 
    xfbml: true, 
    oauth: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);    
}()); 

<!-- rest of your html --> 

</body> 

Đối đăng nhập & xin phép javascript

FB.getLoginStatus(function(response) { 
     console.log(response); 
     if ((response.status)&&(response.status=='connected')) { 
      //successs 
     } else { 
      //user declined 
      }, {scope:'user_likes, offline_access'} 

    }); 

tôi thích trong dự án của tôi sang một bên khách hàng đăng nhập người dùng do đó chưa đăng ký có trang đích, nếu ví dụ nộp mẫu đơn sau đó tôi gọi là khối mã ở trên.

Lưu ý: bạn phải đặt tiêu đề P3P cho trình khám phá Internet để đọc/ghi cookie tùy thuộc vào máy chủ của bạn. cho IIS, global.asax:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 

    HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\""); 

} 

Volià

+1

Làm việc hoàn hảo !! Cảm ơn rất nhiều! –

+0

@asdf_enel_hak tôi không thể tìm thấy FacebookWebContext –

+0

@asdf_enel_hak cũng không thể tìm thấy FacebookWebClient –

Các vấn đề liên quan