asp.net을 사용하여 Facebook 모달 창없이 Facebook 프로필에 게시

StackOverflow https://stackoverflow.com/questions/1638279

  •  08-07-2019
  •  | 
  •  

문제

내 사이트의 사용자가 내 사이트의 상태를 위해 텍스트를 입력하는 ASP.NET 사이트에서 Facebook에서 작업하려고합니다. 나는 그들이 허가에 따라 그 상태를 FB로 도출 할 수 있기를 원합니다. 간단한 Facebook Connect JS 코드를 사용하여 수행했지만 .NET에서 정보를 가져 와서 그렇게 푸시하고 싶습니다. 그래도 FB 프로필을위한 FB 앱을 실제로 만들지는 않습니다.

이것은 내가 원하는 것에 대한 의사 코드입니다.

Facebook fb = new Facebook(apiKey);
FBSession sess = fb.Authenticate();
if(sess.isAuthenticated) {
  User u = fb.getUser(sess.userId);
  u.setStatus(Textbox1.text);
  u.SaveStatus();
}

이와 같은 것이 .NET에도 존재하거나 PHP의 API 만 있습니까?

도움이 되었습니까?

해결책

물론 여기에 샘플 코드가 있습니다. Facebook 개발자 툴킷을 사용하고 있습니다 (CodePlex에서 찾을 수 있음). 그리고 CodePlex에서도 찾을 수있는 fbconnectauth.

쿠키를 확인하여 쿠키가 실제인지 확인하고 싶습니다 (누군가가 해킹하려고하지 않도록). 이것이 쿠키 검증 단계가 중요한 이유입니다.

JS 코드를 사용하여 로그인하는 한 JS에 설정된 동일한 쿠키가 C#에 액세스 할 수 있습니다.

이것은 Facebook Connect 앱에 적합합니다.

        using FBConnectAuth;
        using facebook;

        public facebook.API api = new facebook.API();

        bool IsLoggedInToFacebook = false;
        FBConnectAuthentication auth = new FBConnectAuthentication(ConfigurationManager.AppSettings["AppKey"], ConfigurationManager.AppSettings["Secret"]);
        if (auth.Validate() != ValidationState.Valid)
        {
            IsLoggedInToFacebook = false;
        }
        else
        {
            FBConnectSession fbSession = auth.GetSession();
            string userId = fbSession.UserID;
            string sessionKey = fbSession.SessionKey;

            api.ApplicationKey = ConfigurationManager.AppSettings["AppKey"];
            api.SessionKey = sessionKey;
            api.Secret = ConfigurationManager.AppSettings["Secret"];
            api.uid = Convert.ToInt64(userId);
            api.status.set("statutes text goes here")

            IsLoggedInToFacebook = true;
        }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top