1

私は ASP.net プログラミングの初心者です。これは Facebook C# SDK に関するものです。この SDK での認証に必要なすべての手順をセットアップできました。ただし、次のコードから null を取得し続けます。

(参照: http://csharpsdk.org/docs/web/getting-started#5 )

var accessToken = Session["AccessToken"].ToString(); //This line returns null and crashes
var client = new FacebookClient(accessToken);
dynamic result = client.Get("me", new { fields = "name,id" });
string name = result.name;
string id = result.id;

例のように、HttpContext.Session オブジェクトに格納されるセッション変数を設定する汎用ハンドラーを設定しました。

問題のある行を変更して、HttpContext に直接アクセスし、アクセス トークンを取得しようとしました。

var accessToken = HttpContext.Current.Session["AccessToken"].ToString();

しかし、これは同じ結果をもたらしました。

webconfig で何かを見逃したのでしょうか、それともハンドラーからログイン ページに移行するときにアクセス トークンを保存できる別の方法がありますか?

4

2 に答える 2

1

Facebook 開発者設定で、アプリの認証トークン パラメータとしてクエリ文字列が選択されていないことを確認してください!!!

これはデフォルトのモードであり、次のことを行わないと機能しません。

http://developer.facebook.com

アプリのページを開きます。

次に、[設定] --> [認証ダイアログ] --> [認証トークン パラメータ] に移動し、[URI フラグメント] を選択します。

これがあなたの問題であることを100%確信しています。私が見つけたどの文献にも含まれていません。

于 2012-08-08T20:37:20.447 に答える
0

null が返された場合、Session 値が設定されていないと想定します。セッションを設定するコードがヒットしていることを確認するためにデバッグしましたか?

リンクされた記事を見ると、HttpHandler を使用してこのビットを実行していますが、Web.Config への登録については何も言及していません。ここに表示されない場合http://msdn.microsoft.com/en-us/library/46c5ddfy.aspx

于 2012-06-13T09:41:16.757 に答える