2010-12-07 6 views
0

FQL (Facebook C# SDK, ASP .NET MVC, VB, iFrame Canvas 응용 프로그램)을 사용하여 모든 사용자 사진을 가져 오려고합니다. 내 코드는 다음입니다 :OAuth 2.0 액세스 토큰 예외가 잘못되었습니다.

Dim app As New FacebookApp() 
Dim result As New List(Of FB_Picture) 
Dim photoList As Object = app.Fql("SELECT src_small,src_big,src,caption FROM photo WHERE aid IN (SELECT aid FROM album WHERE owner=" + FacebookId.ToString() + ") ORDER BY created DESC LIMIT " + FromN.ToString() + "," + ToN.ToString()) 

For i As Integer = 0 To photoList.Count 
result.Add(New FB_Picture() With {.Caption = photoList(i).caption, .Src = photoList(i).src, .Src_big = photoList(i).src_big, .Src_small = photoList(i).src_small}) 
Next 
Return result 

FB_Picture 사용자 사진을 저장하는 내 클래스입니다.

내 응용 프로그램에 user_photos 권한이 있습니다.

하지만 오류가 - 잘못된 OAuth는 2.0 액세스 토큰 당신이 나를 도울 수

FacebookOAuthException: Invalid OAuth 2.0 Access Token] 
Facebook.FacebookApp.MakeRequest(HttpMethod httpMethod, Uri requestUrl, Byte[] postData, String contentType) +393 
Facebook.<>c__DisplayClassf.<OAuthRequest>b__e() +20 
Facebook.FacebookApp.WithMirrorRetry(Func`1 body) +225 
Facebook.FacebookApp.OAuthRequest(Uri uri, IDictionary`2 parameters, HttpMethod httpMethod) +338 
Facebook.FacebookApp.RestServer(IDictionary`2 parameters, HttpMethod httpMethod) +481 
Facebook.FacebookAppBase.Api(String path, IDictionary`2 parameters, HttpMethod httpMethod) +236 
Facebook.FacebookAppBase.Api(IDictionary`2 parameters) +132 
Facebook.FacebookAppExtensions.Fql(FacebookAppBase app, String query) +310 

를? 무엇을 수정할 수 있습니까? Facebook C# SDK를 사용하여 FQL을 사용할 수 있습니까?

답변

1

FQL 쿼리를 만들려면 활성 세션이 있어야합니다. 액세스 토큰을 얻는 방법에 대한 도움말은 Facebook C# SDK의 최신 릴리스에서 샘플을 확인하십시오. 당신이 액세스 토큰이 있으면, 바로 다음에 코드를 변경 :

페이스 북 SDK의 개발자가 실제로 새의 SDK 사용자 나 페이스 북에 접근하는 새로운 사람들을 명확하게하지 않는 것이 한 가지있다
Dim app As New FacebookApp("your_access_token_here") 
2

개발.

Facebook SDK는 분명히 래퍼이지만 쿠키 위에 래퍼입니다. 하루가 끝날 때 이것이 의미하는 바는 페이스 북이 애플리케이션의 세션 상태를 유지한다는 것입니다. 당신은 그것을 유지하지 않습니다.

http://apps.facebook.com/Your_Application_Name_Here

: 그래서 당신은 같은 URL로 링크 점을 보장하기 위해 필요한 모든 시간은 응용 프로그램의 사용자는 응용 프로그램에 포함 된 링크를 클릭하면 해당 사용자 (또는 더 정확하게 세션)을 추적 할 하지 : 당신이 다음 페이스 북 세션을 추적 할 수 없습니다하지 않고 당신이있는 경우

http://www.Your_Application_Name_Here.com

효과적으로 자신의 도메인을 떠났다.

<a href="<%= Url.Action("CreateOrder", "Home") %>">Create an Order</a>

내가 당신과 유사한 오류가 유지 : 당신은 내가 Url.Action를 사용하여 내보기에 링크의 출력을 기록 할 때 내가했던 실수를 할 경우이 작업을 알 수 있습니다.

<%= Url.CanvasAction("CreateOrder", "Home") %>

HTH

: Totten와 SDK를 쓴 다른 사람이 사용하면 다음과 같은 방법을 도우미 준 이유
관련 문제