問題タブ [facebook-canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
550 参照

facebook - Canvas 内でアプリを読み込めません

私のアプリケーションは myapp.com/ のような URL で完全に動作しており、ベース ディレクトリは自動的に index.html をロードしています。

アプリケーションをキャンバス アプリに編集し、そのキャンバス URL を myapp.com/ に設定すると、ページhttp://apps.facebook.com/myappにアクセスするとエラーが発生します。

誰でもこれの原因が何であるか考えていますか?

0 投票する
0 に答える
1172 参照

facebook - FacebookモバイルHTML5アプリケーションと紹介認証

HTML5FacebookWebアプリケーションを構成しようとしていますが成功しません。

設定。

  • URLhttp(s)://fb.example.net/で安全でプレーンなキャンバスを構成しています
  • 名前空間は、キャンバスURLhttps ://apps.facebook.com/ハンドル用に定義されています
  • モバイルURLはhttp://my.example.net/です
  • 紹介認証は、認証ダイアログ設定で有効になっています

何が機能するか

  • デスクトップキャンバスの統合(signed_requestパラメーターを使用してPOSTを取得し、それをトークンにアクセスするために交換できます)
  • Facebookは接続します。いつものようにビジネス。

動作しないもの

  1. iPhone3G上のFBiOSアプリ4.1は、ユーザーをhttp://my.example.net/?ref=bookmark&refid=8&pos=1に送信します。紹介認証のドキュメントから、トークンにアクセスするために交換できるURLパラメータ「コード」を取得することがわかりました。https://developers.facebook.com/docs/guides/mobile/web/#loginを参照してください
  2. iPadv1上のFBiPadアプリは、ユーザーをhttp://fb.example.net/?ref=bookmark&refid=8&pos=1に送信します。また、ここには「コード」パラメータはありません。
  3. iPhone Safariのm.facebook.comは、Case(1)のように機能します。my.example.netを時々リダイレクトするのを見たことがありますか?
  4. iPad Safariのm.facebook.comはCase(2)のように機能します

すべての場合において、認証ダイアログは表示されません。このバグは関連している可能性があります:https ://developers.facebook.com/bugs/364761150204975

私が期待すること。

すべての場合において、1〜4人のモバイルユーザーは、URLで定義された「code」パラメータを使用してmy.example.netにリダイレクトされます。新しいユーザーには、https: //developers.facebook.com/docs/opengraph/authentication/およびhttps://developers.facebook.com/docs/guides/mobile/web/#loginで説明されているように、リダイレクトの前に認証ダイアログが表示されます。

セットアップに問題がありますか、それともここで理解できないことがありますか?

基本設定 基本設定

認証ダイアログの設定 認証ダイアログの設定

詳細設定1/2 詳細設定1/2

詳細設定2/2 詳細設定2/2

0 投票する
1 に答える
3841 参照

facebook - 代替

私のアプリは私のウェブサイトなので、以前はこのコードをキャンバスページに配置していたので、ユーザーを自分のウェブサイトにリダイレクトしました。

しかし、fbmlは非推奨になり、まもなくサポートされなくなるため、ユーザーをリダイレクトするために別の方法を使用する必要があります..次のコードは私ができる最善のコードですか、それとも別の方法がありますか?

0 投票する
1 に答える
1190 参照

javascript - JavaScript - FB.Canvas.getPageInfo の高さをコールバック関数の外で使用する方法

Facebook アプリのキャンバスに Scribd ビューアーを実装し、ユーザーのビューポートの高さに適応させようとしています。
私のコードは、ボディの最初の要素として FB.init 関数を呼び出します

このようにして iFrame の高さを調整します。ここで、scribd リーダーの高さを調整するために、コールバックの外で viewportHeight 変数を使用する必要があります。Scrbid リーダーのコード:

しかし、FB.canvas.getInfo() のコールバック関数内の変数は外部では見えないようです。すでに Cookie を試してみましたが、ブラウザーが iFrame 内から Cookie を保存できないことがわかりました。

どうすれば解決できますか(可能な場合)?

0 投票する
1 に答える
515 参照

https - HTTPS でブラウジングするときに、Facebook が HTTP 経由でアセットをロードする

私は多くのグーグル検索を行ってきましたが、この問題に対する答えは見つかりませんでした。

Facebook JS SDK の実装については、Facebook のドキュメントに従っています。これが私のページのコードスニペットです

これは、1 つのファイルを除いて、かなりうまく機能します: http://static.ak.facebook.com/connect/canvas_proxy.php

all.jsは HTTPS 経由で正常に読み込まれます。ただし、Facebook は引き続き通常の HTTP 経由で canvas_proxy.php を読み込みます。

http://static.ak.facebook.com/connect/canvas_proxy.php?version=3#behavior=p&method=setSize¶ms=%7B%22height%22%3A714%2C%22width%22%3A1100%2C%22frame%22 %3A%22iframe_canvas%22%7D

どうしてこれなの?私はすべてを正しくやっているようです。その URL が原因で、HTTPS ユーザーが私のページにアクセスすると、セキュリティ警告がスローされます。

0 投票する
1 に答える
332 参照

facebook - Facebookキャンバスアプリケーションはコンテンツをロードしませんか?

Web 上で、または Facebook 内のキャンバス アプリケーションとして利用できる Facebook アプリケーションを作成しました。私のセットアップは次のようなものです:

同じセットアップを使用して、問題なく他の Facebook アプリを開発および展開しました。奇妙なことに、Facebook の本番アプリのリクエストの 90% は失敗します。アプリはほとんどのコンテンツをロードして<head>から、クラップアウトします。場合によっては、ページ全体が読み込まれます。

Heroku の cedar スタックで実行されている Django アプリ - 私は知っていますが、実際には本番環境に対応していません - しかし、アプリは Facebook の外で問題なく読み込まれるため、これが原因ではないと思います。

サーバーのログを追跡すると、サーバー<head>が Facebook がロードした の一部を介して CSS/JS アセットを送信していることがわかります。

  1. おそらく、Facebook はリクエストを事前に解析し、ここで説明されているようにそれを提供しようとしていますか?
  2. たぶん、Facebook は からのリクエストに対して文書化されていない読み込み時間制限を設けてい<head>ます
  3. たぶん、Facebook には文書化されていないリクエスト数の制限があり<head>ますか?

これらの理論はどれも、ローカルからの問題のない負荷を考えると意味がありません。

誰かが上記のいずれかを確認したり、他のアイデアを提供したりできますか?

<head>その間、サーバー ログにエラーの兆候はなく、Facebook アプリ インターフェイスにエラー レポートも表示されず、ブラウザに問題の兆候もないため、これをデバッグするためにタグをランダムに削除、並べ替え、およびフッツアップする必要があります。

0 投票する
1 に答える
1808 参照

php - Facebook認証がリダイレクトループに実行されます

ドキュメントでFacebookアプリのキャンバスコードを使用していますが、「許可」を押した後もリダイレクトされ続けます。何が悪いのかわからない。それがバグなのか、それとも私だけなのかを確認してください。その http://developers.facebook.com/docs/appsonfacebook/tutorial/から

0 投票する
1 に答える
261 参照

facebook-opengraph - 認証が必要なアプリで OpenGraph タグを使用するには?

使用前に認証ダイアログを受け入れる必要がある iframe キャンバス アプリがあります。つまり、ブラウザーの観点からは、ユーザーがまだ受け入れていない場合、すべての要求はすぐに認証ダイアログにリダイレクトされます。

これは、認証ポイントを通過できないため、Facebook パーサーがページの OpenGraph タグを読み取ることができないことを意味します。

より広いスケールでは、この問題は、表示する前にログインが必要なページでも発生します。

この問題を回避する最善の方法は何ですか?

私が持っている1つの解決策は、クライアントのIPアドレスが属する組織がFacebookであるかどうかを確認し、そうである場合は許可なしで許可し、OGタグ以外のコンテンツのないページを表示することです. これは Facebook からのロボット プログラム アクセスには問題ありませんが、従業員がアクセスしようとするとどうなりますか。ポリシー チームの担当者がアプリを適切に確認できないため、アプリが無効になることを望んでいません。

OG タグが必要な理由については、ユーザーは定期的にアプリへのリンクを共有していますが、タイトルと説明として URL だけが表示され、画像が表示されていないと見栄えが悪くなります。

0 投票する
1 に答える
169 参照

facebook - ユーザーがアプリをページのタブとして追加し、ID を提供し、サーバーからデータをフェッチできる Facebook アプリを作成する手順

私が達成しようとしているようなものを見つけるのに苦労しました.FBは6か月ごとに物事のやり方を更新しているようです. 私が見つけたドキュメンテーションは従うのが難しく、これはそれほど難しいことではないと確信しています。これが私が達成しようとしていることです:

  1. 私たちは SaaS (簡単に言えば:) を運営しており、ユーザーがフォーム ID を提供し、iFrame 経由でフォームを返すことを許可する必要があります。

  2. 製品管理は、フォーム ID とタイトルを追加するだけでよい Facebook のアプリを顧客に提供できるようにしたいと考えています。製品での実際の認証については気にせず、取得する ID だけを使用します。

  3. アプリは Facebook ページ (および/またはプロファイル?) のタブとして表示され、入力内容を示すタブのタイトルと、ソースへのパラメーターとして formId を含む iframe が表示されます。つまり、そのページのコンテンツタブは読み込まれた iFrame になります: <iframe src="http://gotomyserver.com/fetch?FormId=123">

  4. アイデアは、顧客がページのそのタブをクリックすると、このフォームが読み込まれるのを見るということです。

これは過度に複雑であるようには見えませんが、情報を見つけたりドキュメントを理解するのに苦労していますか、それとも間違った方法でアプローチしているのでしょうか?

ありがとう

0 投票する
1 に答える
677 参照

javascript - Javascript SDK エラーと Canvas のサイズ変更の問題

アプリのキャンバスのサイズを変更しようとしていますが、JS SDK または固定の高さ設定が機能しません。クロムのコンソールに次のように表示されます。

ファイアフォックス:

私は自分のアプリのキャンバス設定を幅の液体に設定しており、1200px に固定しています (これは効果がありません)。注: 設定可能なオプションはありません。

これが私のJS SDKインクルードです。<head>タグの直後です

これについて何か助けていただければ幸いです。エラーや不足している設定を見つけることができれば、それは素晴らしいことです。