0

ダイアログのドキュメントに従って、Windows 8 ストア アプリ (html5/javascript) でダイアログを表示しようとしています。

https://developers.facebook.com/docs/reference/dialogs/

Windows 8 ストア アプリでは、iframe を使用して別の Web ページを表示する必要があります。これが私がしたことの例です:

<iframe src="https://www.facebook.com/dialog/feed?app_id=145634995501895&redirect_uri=http://www.facebook.com&show_error=true&display=iframe&access_token={access_token}"></iframe> 

iframeなので、display=iframe と access_token={access_token} を指定します。試してみたい場合は、access_token を忘れずに変更してください。

次のエラーが表示されます。

API Error Code: 110
API Error Description: Invalid user id
Error Message: Missing user cookie (to validate session user)

ここに画像の説明を入力

これは、ユーザーがまだログインしていないことが原因である可能性があります。ドキュメント ( https://developers.facebook.com/docs/reference/dialogs/ ) では、「ユーザーがまだログインしていない場合、Facebook は、呼び出したダイアログを表示する前に、ログインするように求めます」と述べています。ユーザーにログインを促す方法を知りたいですか?ユーザーにログインを促すパラメーターを見逃していませんか? パラメータを調べましたが、何も見つからなかったようです。

あなたの助けに感謝。

4

1 に答える 1

0

「あなたの答え」ではないかもしれませんが、私はここに文書化するあなたとは異なる行動を見ています。

私は自分のアクセス トークンを取得しました。あなたの IFRAME を使用すると、Facebook.com にリダイレクトしてログインしようとする試みが見られます。ただし、その後、JavaScript コンソールに次のようなセキュリティ エラーが表示されます。

APPHOST9613: アプリはhttps://www.facebook.com/login.php?api_key=177388709024886&skip_api_login=1に移動できませんでした ... このエラーのため: FORBIDFRAMING.

login.php スクリプトへのリクエストは、X-FRAME-OPTIONS ヘッダーを DENY とするレスポンスを生成します。これにより、Facebook からのログイン ページがアプリ内の IFRAME に表示されなくなります。したがって、禁止されています。

MSDN フォーラムのスレッドにもいくつかの議論があり、少し古いですが、それ以降の変更は認識していません。

Windows Azure Mobile Servicesを使用して、Windows 8 アプリケーションで Facebook ログインを直接試したことはありませんが、試してみる価値はあるかもしれません。Azure Mobile Services のセットアップは非常に簡単であるため、HTML5/JS Windows ストア アプリ内にまだ問題があるかどうかがすぐにわかります。

于 2013-02-07T06:32:59.970 に答える