나는 다음과 같은 코드로 실버 라이트 응용 프로그램 내에서 페이스 북의 C#을 SDK를 사용하여 페이스 북에서 앨범 사진을 얻을 트링 해요 : this.ID가의 ID입니다페이스 북 앨범 사진 사용하여 페이스 북 C#을 SDK
FacebookClient client = new FacebookClient(this.Profile.AccessToken);
client.GetAsync(string.Format("/{0}/picture?type=small", this.ID));
client.GetCompleted += (s, e) =>
{
dynamic result = e;
};
앨범,하지만이 오류 : 값을 구문 분석하는 동안 예기치 않은 문자가 발생했습니다 : . JsonSerializer의 DeserializeObject 메소드의 행 1, 위치 1. 문제는 페이스 북에서 imge uri 또는 이와 유사한 것으로 json 데이터를 반환하지 않지만 실제로 이미지 자체를 이진 데이터로 반환한다는 것입니다. 아무도 내가이 결과를 어떻게 처리 할 수 있을지 또는 이미지에 Uri를 가져올 수 있는지 전혀 알지 못합니까? 나는 문제는이 코드를 사용하여에 대한 해결 방법이 있습니다
var request = WebRequest.Create(string.Format("https://graph.facebook.com/{0}/picture?access_token={1}", this.ID, this.Profile.AccessToken));
request.BeginGetResponse(ar =>
{
using (var response = ((WebRequest)ar.AsyncState).EndGetResponse(ar))
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
this.Picture = new BitmapImage(new Uri(response.ResponseUri.AbsoluteUri));
}
);
}
}, request);
을하지만 난 정말 데이터를 가져 오는 경우에만 페이스 북 C#을 SDK를 사용하고 싶었다.
FacebookClient client = new FacebookClient(this.Profile.AccessToken);
client.QueryAsync(String.Format("SELECT src_small, src_big, src FROM photo WHERE pid IN (SELECT cover_pid FROM album WHERE object_id={0})", this.ID));
client.GetCompleted += (s, e) =>
{
dynamic result = e.GetResultData();
Deployment.Current.Dispatcher.BeginInvoke(() => this.Picture = result[0].src_small);
};
페이스 북 문서화을 받고 이런 식으로 '앨범'노드의하여 '사진'연결이 URL로 _An의 HTTP 302을 반환 말한다 : 이처럼 해결 이상하게 들리는데, 나는 이것을 처리 할 수있는 적절한 방법이 무엇인지 궁금합니다. –
제 문제에 대한 해결책을 찾았습니다. 그래프 API 대신 FQL을 사용합니다. 그러면 다음과 같은 작업이 수행됩니다. 'FacebookClient client = new FacebookClient (this.Profile.AccessToken); client.QueryAsync (String.Format ("SELECT src_small, src_big, src FROM 사진에서 pid IN (앨범 cover_pid에서 앨범 WHERE object_id = {0})", this.ID))); client.GetCompleted + = (s, e) => {동적 결과 = e.GetResultData(); Deployment.Current.Dispatcher.BeginInvoke (() => this.Picture = result [0] .src_small); }; ' –
정말 해결책을 찾아내어 (자신의) 질문에 대한 답변으로 게시하고 정답으로 표시해야합니다. 그렇게하면 훨씬 더 명확해질 것입니다. –