2011-10-25 43 views
6

Ứng dụng của tôi nằm bên ngoài canvas facebook. Hộp thoại yêu cầu facebook 2.0 chỉ chuyển hướng đến canvas canvas ví dụ: apps.ibibo.com/YOURAPP. Tôi làm cách nào để mở url tùy chỉnh? Điều này có thể ở dạng FBML cũ với fb:request-form và đặt req-url.Yêu cầu Facebook 2.0, cách thay đổi url nút "Chấp nhận" thành url bên ngoài facebook?

Yêu cầu 2.0 chỉ bị giới hạn ở bên trong URL URLS? Yêu cầu của tôi là gửi yêu cầu trò chơi, nhưng trò chơi của tôi nằm bên ngoài facebook. ví dụ về cách nhấn vào "Chấp nhận" url để mở nên

"http://www.mydomain.com/mygame" và không

"http://apps.facebook.com/mygame".

enter image description here

Những phương pháp này dường như không phù hợp với yêu cầu của tôi: http://developers.facebook.com/docs/reference/dialogs/requests/ (chỉ canvas url redirection)

Tôi nghĩ đến một cách giải quyết như sau: Các người dùng nhấp vào "CHẤP NHẬN" và đi kèm với canvas url và từ url canvas, tôi chuyển hướng anh ấy đến url của tôi bên ngoài facebook. Nhưng tôi không chắc chắn nếu đó là phù hợp với chính sách facebook? (được đề cập ở đây tại điểm # 4 của đoạn đầu tiên: http://developers.facebook.com/blog/)

+0

xin vui lòng đọc các chú thích trong câu trả lời cho những câu dưới đây http://stackoverflow.com/questions/7914296/how-do-i -send-a-facebook-request-rằng-liên kết-tới-một-bên ngoài-site/7914730 –

+0

@Trong các ý kiến, trong câu hỏi được đề cập ở trên là một nguồn đáng tin cậy, xin vui lòng kiểm tra :) –

Trả lời

2

Thật không may là nút chấp nhận ngay bây giờ sẽ luôn đưa bạn đến trang ứng dụng như bạn đang thấy và không có cách nào để đưa nó đi nơi khác. Bạn sẽ phải chuyển hướng chúng từ trang vải nền. Tuy nhiên, tôi không thấy điều này là chống lại chính sách Facebook mặc dù các yêu cầu Facebook có thể được gửi từ bên ngoài Facebook bằng cách sử dụng plugin iframe. Nếu bạn muốn có thể đặt trong url bên ngoài cho nút chấp nhận, tôi sẽ đăng nhập feature request bằng Facebook.

5

Cần tập lệnh jquery để ghi đè chức năng mặc định của facebook. Tuy nhiên, điều này chỉ hoạt động khi người đó truy cập vào "http://apps.facebook.com/mygame" và nhấp vào 'thêm ứng dụng'.

Đơn giản chỉ để có trang chào mừng, người dùng nhấp vào "PHÁT" và nó sẽ mở một cửa sổ mới vào trang của bạn.

Đọc thêm: http://developers.facebook.com/blog/post/525/ - mã may mắn!

Đặt <button id="fb-auth">Login</button> nơi nào đó trên trang mygame và thêm mã javascript:

function updateButton(response) { 
    //Log.info('Updating Button', response); 
    var button = document.getElementById('fb-auth'); 

    if (response.status === 'connected') { 
     //button.innerHTML = 'Logout'; 
     button.onclick = function() { 
     FB.logout(function(response) { 
      //Log.info('FB.logout callback', response); 
     }); 
     }; 
    } else { 
     //button.innerHTML = 'Login'; 
     button.onclick = function() { 
     FB.login(function(response) { 
      //Log.info('FB.login callback', response); 
      if (response.status === 'connected') { 
      //Log.info('User is logged in'); 
      window.open("http://xxxxxxxxxxxxxxxx/some.html"); 
      } else { 
      //Log.info('User is logged out'); 
      } 
     }); 
     }; 
    } 
}; 

// run it once with the current status and also whenever the status changes 
FB.getLoginStatus(updateButton); 
FB.Event.subscribe('auth.statusChange', updateButton); 
Các vấn đề liên quan