Tôi đang tạo ứng dụng canvas Facebook tải trong iframe với Django. Tôi muốn quá trình đăng nhập hoạt động tương tự như cách Zynga thực hiện nó. Trong phương pháp này, nếu bạn chưa đăng nhập, bạn được chuyển hướng đến trang đăng nhập Facebook và sau đó đến trang yêu cầu quyền đối với ứng dụng (không có bất kỳ cửa sổ bật lên nào).Xác thực trong Ứng dụng Canvas Facebook bằng API đồ thị mới
Theo như tôi có thể nói với Zynga phải đang sử dụng FBML và chỉ chuyển đến của URL mà hình như:
http://www.facebook.com/login.php?api_key=[api_key]&canvas=1&fbconnect=0&next=[return_url]
Liệu có cách nào để đạt được một hiệu ứng tương tự trong một ứng dụng python mà tải trong iframe?
Có một phương pháp here cho thấy làm thế nào để đạt được các chuyển hướng đúng bằng sdk php mới, nhưng tôi đang cố gắng để sử dụng SDK python mới mà chỉ có phương pháp:
def get_user_from_cookie(cookies, app_id, app_secret):
"""
Parses the cookie set by the official Facebook JavaScript SDK.
cookies should be a dictionary-like object mapping cookie names to
cookie values.
...
"""
Tôi có một số lao động mã mà sử dụng Javascript SDK và phương pháp get_user_from_cookie:
<div id="fb-root">
<script src="http://connect.facebook.net/en_US/all.js"></script>
</div>
<script type="text/javascript">
FB.init({ apiKey: 'apikey', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
// Reload the application in the logged-in state
window.top.location = 'http://apps.facebook.com/myapp/';
});
</script>
<fb:login-button>Install MyApp</fb:login-button>
vấn đề với phương pháp này là nó đòi hỏi người dùng phải bấm vào một nút để đăng nhập và sau đó làm việc thông qua các màn hình xác thực popup. (Lưu ý: cửa sổ bật lên cũng xuất hiện nếu tôi gọi trực tiếp cho FB.login)
Vậy ... có cách nào để sử dụng SDK javascript để chuyển hướng đến trang đăng nhập thay vì tải nó dưới dạng cửa sổ bật lên không?
Cảm ơn bạn đã trợ giúp! --Eric
Bạn có thể chuyển hướng họ đến trang ủy quyền bằng cách sử dụng top.location trong javascript – BeRecursive
@BeRecursive: Có. Đó là chính xác những gì tôi đang nói. –
Tại sao chuyển hướng đến trang có mã đó khi bạn viết mã vào trang? – BeRecursive