2010-09-21 29 views
5

Có thẻ fb nào tôi có thể sử dụng để bao quanh thẻ neo html của mình sao cho nếu người dùng không đăng nhập, họ sẽ được nhắc đăng nhập trước khi truy cập vào liên kết?Facebook Connect yêu cầu đăng nhập cho một số liên kết

Tôi đang sử dụng python/django trong chương trình phụ trợ.

Cảm ơn, David

+0

Đây là ứng dụng iframe fb là gì? Hoặc trang web độc lập? – serg

+0

tại thời điểm này nó không có gì để làm với FB, giống như bất kỳ quá trình truy cập được ủy quyền, nếu bạn có một phiên hợp lệ tiến hành, nếu không nhắc – ifaour

Trả lời

0

Bạn chỉ cần một câu lệnh if để kiểm tra xem một phiên facebook tồn tại hay không. Nếu không chuyển hướng chúng đến trang đăng nhập.

-Roozbeh

0

Trước tiên, tôi nghĩ bạn phải tạo ứng dụng Facebook.

Thứ hai: nếu bạn đang lập trình bằng PHP, bạn nên sử dụng PHP SDK.

Xem: https://developers.facebook.com/docs/reference/php/

Thứ ba: Sử dụng getUser phương pháp: https://developers.facebook.com/docs/reference/php/facebook-getUser/

Tôi gần như chắc chắn rằng getUser sẽ trở lại 0 nếu người dùng đã không được chấp nhận ứng dụng của bạn, vì vậy IMO nó không phải là phương pháp tốt nhất để tìm trạng thái kết nối người dùng trên Facebook.

Ngoài ra, getLoginStatusUrl có thể giúp đỡ, với chức năng này bạn có thể làm chuyển hướng dựa trên tình trạng người dùng trên Facebook, và nghĩ về một cơ chế để hiển thị hoặc không phải là nội dung dựa trên các thông số và các biến session (đó là một ý tưởng).

Xem: https://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/

Hy vọng điều đó sẽ hữu ích.

0

Sử dụng API JavaScript bạn sẽ muốn sử dụng FB.getLoginStatus để bao quanh thẻ liên kết. Xem https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

Ví dụ từ trang đó:

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    // the user is logged in and connected to your 
    // app, and response.authResponse supplies 
    // the user's ID, a valid access token, a signed 
    // request, and the time the access token 
    // and signed request each expire 
    var uid = response.authResponse.userID; 
    var accessToken = response.authResponse.accessToken; 
    } else if (response.status === 'not_authorized') { 
    // the user is logged in to Facebook, 
    //but not connected to the app 
    } else { 
    // the user isn't even logged in to Facebook. 
    } 
}); 

Lưu ý: Tôi chỉ đơn giản là sẽ thực hiện cuộc gọi này lên phía trước và thiết lập JS riêng biến boolean của tôi trên phản ứng vì vậy tôi không cần phải sử dụng các cuộc gọi API FB lần nữa. Sau đó, bọc bất kỳ mã phụ thuộc nào bằng một thử nghiệm boolean JS đơn giản.

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