2015-01-02 7 views
3

내 사이트의 Facebook과의 통합에 문제가 있습니다.로그인을위한 페이스 북 통합

private static string GetFacebookUserJSON(string access_token) 
{ 
    string url = string.Format(
     "https://graph.facebook.com/me?access_token={0}&fields=email,name,first_name,last_name,link", 
     access_token); 

    WebClient wc = new WebClient(); 
    Stream data = wc.OpenRead(url); 
    StreamReader reader = new StreamReader(data); 
    string s = reader.ReadToEnd(); 
    data.Close(); 
    reader.Close(); 

    return s; 
} 

불행하게도, 그것은 나에게 OpenRead() 줄에 WebException was unhandled by user code을 제공합니다 : 여기

는 코드입니다. 또한 연락을 취한 서버에서받은 정보가 (400) Bad Request입니다.

어떻게 해결할 수 있습니까?

+0

중단 점을 넣거나 WebClient에 액세스하려는 URL을 기록한 다음 브라우저에서 먼저 시도한 다음 여기에 결과를 적어 둡니다. – Anri

+0

나는 그것을 시도했지만 여전히 나는 "원격 서버가 오류를 반환했습니다 : (400) 잘못된 요청." 오류. – akky777

답변

2

사용이 정확한 오류 감지 :

private static string GetFacebookUserJSON(string access_token) 
{ 
    try 
    { 
     string url = string.Format("https://graph.facebook.com/me?access_token={0}&fields=email,name,first_name,last_name,link", access_token); 

     WebClient wc = new WebClient(); 
     Stream data = wc.OpenRead(url); 
     StreamReader reader = new StreamReader(data); 
     string s = reader.ReadToEnd(); 
     data.Close(); 
     reader.Close(); 

     return s; 
    } 

    catch (WebException wex) 
    { 
     string pageContent = new StreamReader(wex.Response.GetResponseStream()).ReadToEnd().ToString(); 
     return pageContent; 
    } 
} 

을 아니면 내가 그것을

는 더 페이스 북 로그인에 대한 자세한 내용은 here를 찾아 보게 로그의에서 Fiddler를 사용하여 응답과 함께 질문을 업데이트 제안 증권.

+0

감사합니다. 작동하지만 여전히 계정의 모든 세부 정보를 가져올 수 없습니다. – akky777

+0

또한 오류가 발생했습니다. { "message": "서버에서 API 호출에 appsecret_proof 인수가 필요합니다.", "type": " GraphMethodException ","code ": 100}} – akky777

+0

이것 좀보세요 ... https : //developers.facebook.com/docs/graph-api/securing-requests ... 최신 버전의 SDK는 appcesret_proof이 생성되지 않도록합니다. – SanyTiger