0

Facebook 認証にDotNetOpenAuth.AspNetを使用しています。そして、すべてがうまく機能します。

ただし、アプリのアクセス許可を変更する必要があるため、ユーザーがログインするときに status_update アクセス許可を要求する必要があります。Facebook アプリの構成でアクセス許可を変更しましたが、アプリケーションのログイン ウィンドウが更新されませんでした。

ここに画像の説明を入力

また、OAuthWebSecurity.RegisterFacebookClient メソッド呼び出しを追加のデータ スコープ属性を渡して処理しようとしましたが、アクセスはありませんでした。

DotNetOpenAuth.AspNet を使用して追加の Facebook アクセス許可を要求する方法を知っている人はいますか?

編集:

投稿しようとすると、次のエラーが発生しました。

(OAuthException - #200) (#200) ユーザーはアプリケーションがこのアクションを実行することを承認していません

アプリにログインしようとすると、次のようになります。

ここに画像の説明を入力

status_update パーミッションはありません。

ありがとう。

4

1 に答える 1

3

この時点ではできません。DotNetOpenAuth.AspNet の奥深くに、FacebookClient というクラスがあります。クラス内には「GetServiceLoginUrl」というメソッドがあります。

バージョン 4.3.0 のこのメソッドは、スコープを「email」にハードコーディングします。

ただし、Nuget プレリリース リポジトリに移動し、そこからプレリリース バージョン 4.3.1 を取得すると、FacebookClient クラスのコンストラクターに追加のパラメーターである scope が付属します。そこにアクセス許可を追加すると、それらがリクエスト URL に追加されます。

プレリリース パッケージのソースはhttp://teamcity.dotnetopenauth.net:82/guestAuth/app/nuget/v1/FeedService.svc/です。

new FacebookClient(appId, secret, new[] {"email","manage_pages"});

そして、あなたは行く準備ができているはずです。

于 2013-06-05T05:59:01.210 に答える