2010-12-07 17 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の最新リリースのサンプルをご覧ください。あなたがアクセストークンを持っていたら、ちょうど次のコードを変更:

Dim app As New FacebookApp("your_access_token_here") 
2

のFacebook SDKの開発者が実際に新しいSDKのユーザーやFacebookに近づい新しい人々に明らかにしないことを一つのことがあります開発。

Facebook SDKは明らかにラッパーですが、クッキーの上にあるラッパーです。これは、Facebookがアプリケーションのセッション状態を維持していることを意味します。あなたはそれを維持しない、そうする。

http://apps.facebook.com/Your_Application_Name_Here

:だからのようなURLにあなたのリンクポイントを確保する必要がある時には、アプリケーションのユーザーは、アプリケーション内のリンクをクリックすると、そのユーザー(またはより正確には、そのセッションを)追跡したいですそしてません:

http://www.Your_Application_Name_Here.com

あなたは、Facebookは、セッションを追跡することはできませんしないでください、あなたは自分のドメインを効果的に残っている場合。

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

私はあなたに同様のエラーを取得保管:あなたは私がUrl.Actionを使用して、私の見解では、リンクの外を書いていたときに私がやったミスを行う場合は、これを気づくでしょう。 HTH

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

:SDKを書いトッテンや他の男はあなたのようなヘルパーメソッドを与えた理由です

関連する問題