0

Facebook C# API v5 を使用し、ユーザーが認証されているかどうかを確認するために AJAX 呼び出しで実行されていた次のコードがあります。

// Make sure user is logged into Facebook and authroized this application
if (!FacebookWebContext.Current.IsAuthenticated() ||
!FacebookWebContext.Current.IsAuthorized(new[] { "email" }))
{
    result.ResultCode = BasicResultCode.NotAuthorized;
    return result;
}

var fbuid = FacebookWebContext.Current.UserId;

v6 では、Facebook.Web 名前空間は存在せず、FacebookWebContext はどこにも見つかりません。上記のコードの代わりに何を使用しますか?

4

2 に答える 2

1

これが役立つかどうかはわかりませんが、私が理解している限り、Facebookは一部のFacebook Cookieの構造を変更したかったため、これらの機能をc#sdkから削除しました。FacebookWebContextを削除することで、Cookieの構造が変更され、互換性がなくなったという問題が発生するリスクがなくなります。

代わりに、 FacebookJavascriptSDKを使用して認証を行う必要があると思います

FB.getLoginStatusおよび/または FB.getAuthResponseを使用してみてください

于 2012-07-23T02:23:02.147 に答える
0

FacebookWebContext は使用できなくなりました。これは、バージョン 5 で既にマークされており、非推奨です。ソリューションで Rebuild All を実行するときは、Visual Studio の警告画面を確認してください。

ここで、Facebook 名前空間から FacebookClient() を使用する必要があります。

次に、複数の結果を持つ可能性のある FacebookOAuthException を確認する必要があります。https://developers.facebook.comで FacebookOAuthException のドキュメントを見つけることができます。

于 2012-07-23T10:52:55.477 に答える