카테고리 없음

[facebook-graph-api] Facebook 애플리케이션 요청을 처리하는 방법?

행복을전해요 2020. 12. 11. 19:36

나는 해결책을 찾았다

내 응용 프로그램 캔버스 페이지에 대한 권한 요청을 시작하고 사용자가 수락하면 쿼리 문자열을 사용하여 동일한 페이지로 리디렉션합니다. 완벽한 솔루션은 아니지만 잘 작동합니다.

-------------------

앱 기본 페이지 컨트롤러에서 MVC3와 함께 http://facebooksdk.codeplex.com/사용하는 경우 권한이없는 사용자에게 리디렉션을 제공해야합니다.

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");
                                                                                                                                                                                        }
                                                                                                                                                                                        }
                                                                                                                                                                                        
-------------------

http://developers.facebook.com/docs/reference/dialogs/oauth/에 표시된대로 사용자에게 권한을 요청해야합니다 . 친구를 초대 한 첫 번째 사용자의 권한을 어떻게 얻었습니까? 해당 페이지로 리디렉션하거나 앱 요청 클릭을 처리하는 페이지로 애플리케이션 권한을 확인할 수 있습니다. 사용자가 권한을 부여하지 않으면 쉽게 요청할 수 있습니다.

이미 애플리케이션을 사용중인 사용자도 권한을 취소 할 수 있으므로 항상 권한을 확인해야합니다.

-------------------

기본적으로 Facebook 애플리케이션 요청을 수락하면 사용자가 애플리케이션의 기본 페이지로 리디렉션됩니다. 애플리케이션에서 메인 페이지를보기 위해 Facebook 권한이 필요한 경우 모든 방문자가 권한을 수락 했는지 확인하고 승인 하지 않은 경우 OAuth 권한 대화 상자로 리디렉션 할 수 있습니다. Facebook 문서에서는 사용자가 애플리케이션을 방문한 후 request_ids쿼리 문자열에 전송 된 매개 변수를 통해 허용 된 요청을 삭제하도록 제안 합니다.

-------------------

응용 프로그램 권한 요청 페이지 는 무엇을 의미 합니까? 사용자가 자신의 페이스 북 데이터에 액세스 할 수 있도록 타사 애플리케이션을 승인하는 곳입니까?

다른 답변에 동의합니다. 사용자가 페이스 북 계정에서 앱 요청 알림 아이콘을 클릭하면 애플리케이션의 캔버스 페이지로 리디렉션되고 요청에는 애플리케이션에서 생성 된 request_ids 목록이 포함됩니다.

애플리케이션 내에서 facebook request_ids를 읽은 후 수신 된 request_ids에 대해 facebook에 요청한 다음 해당 정보로 수행 할 작업을 결정할 수 있습니다 . 앱 요청이 어떻게 생성되었는지에 대한 추가 정보를 제공하기 위해 추가 데이터 매개 변수를 전달할 수 있습니다 .

마지막으로 얻은 정보를 기반으로 원하는 페이지로 사용자를 리디렉션 할 수 있습니다.

도움이 되었기를 바랍니다

-------------------

request_ids 매개 변수가 있으면 사용자가 요청에서 앱에 액세스하는지 확인해야합니다. 그렇다면 권한을 요청하는 페이지와 미해결 요청 목록이 표시되는 페이지로 사용자를 리디렉션해야합니다!



출처
https://stackoverflow.com/questions/7415031