2011-09-12 31 views
7

Tôi đang làm việc trên một ứng dụng Facebook Và tôi cung cấp cho người dùng để mời bạn bè của mình đến ứng dụng bằng cách sử dụng C# SDK. như được hiển thị trong Facebook documentationLàm thế nào để xử lý các yêu cầu ứng dụng Facebook?

Vấn đề của tôi là khi người bạn của người dùng nhận được yêu cầu đăng ký và nhấp Chấp nhận nó không hiển thị application permission request page.

Tôi có cần phải thực hiện thêm bất kỳ bước nào để chuyển hướng người dùng đến application permission request page không?

Trả lời

2

tôi tìm thấy giải pháp

tôi bắt đầu xin phép trên trang canvas ứng dụng của tôi và nếu người dùng chấp nhận, chuyển hướng đến cùng một trang với chuỗi truy vấn. không phải giải pháp hoàn hảo nhưng nó hoạt động tốt

0

Bạn cần yêu cầu người dùng cho phép như được thấy trên http://developers.facebook.com/docs/reference/dialogs/oauth/. Làm cách nào bạn nhận được quyền của người dùng đầu tiên đang mời bạn bè? Bạn có thể chuyển hướng anh ta đến trang đó hoặc trang xử lý các nhấp chuột yêu cầu ứng dụng có thể kiểm tra quyền của ứng dụng. Nếu người dùng không cấp quyền, bạn sẽ dễ dàng yêu cầu họ cho họ.

Bạn nên luôn kiểm tra các quyền, bởi vì ngay cả người dùng đã sử dụng ứng dụng của bạn cũng có thể thu hồi chúng.

0

Theo mặc định, việc chấp nhận Facebook application request sẽ chuyển hướng người dùng đến trang chính của ứng dụng. Nếu ứng dụng của bạn yêu cầu quyền Facebook để xem trang chính, bạn sẽ muốn kiểm tra xem tất cả khách truy cập đã chấp nhận quyền của bạn và chuyển hướng họ đến số OAuth permissions dialog nếu họ không có. Lưu ý rằng tài liệu Facebook gợi ý xóa yêu cầu được chấp nhận sau khi người dùng truy cập ứng dụng của bạn, thông qua tham số request_ids được gửi trong chuỗi truy vấn.

0

Ý của bạn là gì bởi trang yêu cầu cấp phép ứng dụng? Đó có phải là nơi người dùng cho phép ứng dụng của bên thứ ba truy cập dữ liệu facebook của anh ấy không?

Tôi đồng ý với câu trả lời khác. Sau khi người dùng nhấp vào biểu tượng thông báo yêu cầu ứng dụng từ trong tài khoản facebook của mình, họ được chuyển hướng đến trang vải nền của ứng dụng, yêu cầu bao gồm danh sách các request_ids được tạo bởi ứng dụng của bạn

Trong ứng dụng của bạn, sau khi đọc facebook request_ids, bạn có thể yêu cầu facebook về request_ids nhận được và sau đó quyết định phải làm gì với thông tin đó, bạn có thể chuyển thêm thông số dữ liệu để cung cấp thêm thông tin về yêu cầu ứng dụng được tạo ra như thế nào.

Cuối cùng, bạn có thể chuyển hướng người dùng đến bất kỳ trang nào bạn muốn dựa trên thông tin bạn nhận được.

Hope this helps

1

Trong trường hợp nếu bạn đang sử dụng http://facebooksdk.codeplex.com/ với MVC3 tại ứng dụng điều khiển trang chính, bạn nên cung cấp chuyển hướng cho người dùng không có thẩm quyền:

var fbWebContext = FacebookWebContext.Current; 
if (fbWebContext.IsAuthorized() && fbWebContext.UserId > 0) 
{ 
    try 
    { 
     var fb = new FacebookWebClient(fbWebContext); 
     dynamic result = fb.Get("/me"); 
    } 
    catch (FacebookOAuthException) 
    { 
     var redirectString = string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&type=user_agent&display=page&scope={2}", 
           Facebook.FacebookApplication.Current.AppId, 
           FacebookWebContext.Current.Settings.CanvasPage, 
           "email, publish_actions" 
          ); 
     Response.Redirect("redirectString"); 
    } 
} 
+0

+1, nhưng tôi không sử dụng MVC – Hiyasat

0

bạn nên kiểm tra nếu người dùng là accesing ứng dụng của bạn từ một yêu cầu ... nếu tham số request_ids có mặt. Nếu vậy, bạn nên chuyển hướng người dùng đến trang nơi yêu cầu sẽ được hỏi và danh sách các yêu cầu chưa được hiển thị!

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