2016-08-23 4 views
0

Xamarin.Forms에 간단한 응용 프로그램을 작성하여 Facebook, Google, Instagram, Twitter 등의 소셜을 통해 사용자가 인증 할 수 있도록했습니다. 저는 Xamarin을 사용하고 있습니다. 이렇게하려면 인증 해주세요. Facebook 로그인에 문제가 있습니다. 나는 공식 가이드에보고 된 동일한 코드를 사용 :xamarin.auth를 사용하여 페이스 북에서 프로필 정보를 검색하는 방법

https://components.xamarin.com/gettingstarted/xamarin.auth

을 그러나 응용 프로그램이 사용자에게 자격 증명, 응답을 요청한 후 (코드에서, t.Result.GetResponseText는(), 3 절)입니다 json에는 Facebook 사용자 이름과 성 및 "id"라는 필드가 있습니다. 대신 나이, 성별 등과 같은 사용자의 모든 프로필 정보가 필요합니다. ID에서 검색 데이터를 가져 오기 위해 페이스 북 서비스에 대한 http 요청을 작성하기 위해 반환 된 ID를 사용해야한다고 가정합니다.

답변

2

당신은 페이스 북의 링크에서 재구성 된 필드를 지정해야합니다.

예 : 나는 필드를 취득하는 방법 후

var request = new OAuth2Request("GET", new Uri("https://graph.facebook.com/me?fields=email,first_name,last_name,gender,picture"), null, eventArgs.Account); 

내가 줄에 (이 오류를 이유는 무엇입니까

var response = await request.GetResponseAsync(); 
var obj = JObject.Parse(response.GetResponseText()); 

var id = obj["id"].ToString().Replace("\"", ""); 
var name = obj["first_name"].ToString().Replace("\"", ""); 
var lastName = obj["last_name"].ToString().Replace("\"", ""); 
var email = obj["email"].ToString().Replace("\"", ""); 
+0

- VAR OBJ = JObject.Parse (response.GetResponseText ());) : 작업 에 GetResponseText에 대한 정의가 없습니다? – TigerLionCheetah

+0

작업 처럼 변수 "응답"을 정의하고 GetReponseText 메서드에 대한 정의가 없으므로 작업을 정의 할 수 있으므로 응답 유형과 같은 "응답"변수를 정의해야합니다. – Katz

+0

이 이미지를 확인하십시오 : https://flic.kr/p/Wk1uJT – Katz