web-dev-qa-db-ja.com

1つのFacebookアプリ(Tumblrなど)に複数のドメインを許可する

FacebookオブジェクトデバッガーでWebサイトを検証しようとしていますが、次のエラーが発生しています。

ドメイン 'www.example.com'は指定されたアプリケーションIDに対して許可されていないため、タイプ 'smallteaser:teaser'のURL ' http://www.example.com/latest 'のオブジェクトは無効です「597566643589666」。

このエラーは、Facebookアプリへのexample.comドメイン固有のアクセスを許可していないため、完全に理にかなっています。 しかし、本当に必要なのですか?

私が達成したいのは、カスタムドメインを使用した場合のTumblrの動作に似ています。たとえば、Webサイト www.davidslog.com の場合、次のメタタグがあります。

<meta property="fb:app_id" content="48119224995" />

   --> This is the Tumblr app ID


<meta property="og:url" content="http://www.davidslog.com/?og=1" />

   --> This is a custom domain which points to a Tumblr blog


<meta property="og:type" content="tumblr-feed:tumblelog" />

   --> This is a custom Tumblr object type (in namespace tumblr-feed)

そして、これを、たとえば、ドメイン theartofnotwriting.tumblr.com と比較すると、次のメタデータがあります。

<meta property="fb:app_id" content="48119224995">

   --> This is the same Tumblr app ID

<meta property="og:url" content="http://theartofnotwriting.tumblr.com/?og=1">

   --> This is a different domain

<meta property="og:type" content="tumblr-feed:tumblelog">

同じTumblrアプリに複数のURLがあり、すべてが正しく検証されていることがはっきりとわかります。

では、なぜこのTumblrページは正しく検証され、私のTumblrページは検証されないのでしょうか?複数のドメインで使用できるようにFacebookアプリを構成するにはどうすればよいですか?

36
stikkos

私はこの同じ問題に出くわしました。この特別な扱いを得るには、TumblrがFacebookと何らかの提携関係を結ばなければならないと考えました(ipホワイトリスト?特別なAPI?)-Facebookで以前のPartnerships Repに問い合わせてください。

Facebookでプラットフォームエンジニアと話をすることができましたが、まったく間違っていました。特別なことは何もありません。

Tumblrで実行されているすべてのドメインが単一のapp_idで正常に検証される理由は、facebookデバッグツールがog_tagの構造の妥当性のみをチェックするためです(少なくともapp_idに関しては)。 app_idが特定のドメインに適切に関連付けられているかどうかは検証されません。

これをテストするには、app_idを含むテストページを2つの異なるドメインに配置します。これらは両方ともデバッグツールで正常に検証されます。

実際のFacebook APIアクセスに関しては、Tumblrはドメインですべてを実行します。 TumblrでFacebookボタンなどを使用する場合、サードパーティのプロキシツール(ShareThisなど)を使用するか、API以外のボタンを埋め込みます。 Facebook APIまたはapp_id関連のボタンを使用するTumblrで実行されている単一のカスタムドメインを見つけることができませんでした。可能であれば、私はそれを見たいです。

それはあなたが望む(または私が望む)答えではありませんが、それが起こっているのです。 Tumblrのapp_idはすべてのドメインに表示されますが、実際には「.tumblr.com」でのみ機能します。 Facebookデバッグツールは、実際にはapp_idを検証しません。

17

複数のドメインで使用できるようにFacebookアプリを構成するにはどうすればよいですか?

アプリの設定で複数のドメインを追加しようとすると、次のようなエラーが表示されます。

example.comは、サイトURL、モバイルサイトURL、キャンバスURL、セキュアキャンバスURL、ページタブURL、またはセキュアページタブURLのいずれかから派生する必要があります。

example.orgは、サイトURL、モバイルサイトURL、キャンバスURL、セキュアキャンバスURL、ページタブURL、またはセキュアページタブURLのいずれかから派生する必要があります。

1つの解決策は、「ページタブURL」をexample.org上の偽のURLに設定することです。

example.org/myfakepage

実際にページタブを使用する必要はありません。これにより、2番目のドメインを追加できます。

17
peterhry

複数のドメインで使用できるようにFacebookアプリを構成するにはどうすればよいですか?

できません。 Facebookアプリは1つのドメイン(およびそのサブドメイン)に関連付けられています。

そうでなければ何が起こるか想像してみてください-誰かが多くの(大きな)Webサイトを1つのアプリに追加することができます。それらのそれぞれにJS SDKを埋め込み、「インターネットの半分」でそのアプリに接続しているユーザーを認識し、それによって(ほぼ)すべてのステップを追跡します。

Facebookはもちろんこれを望んでいません¹– theyは、ユーザーとWebでの動きについて収集したデータから利益を得たいと考えています(理論的には、ボタン)–すべてのアプリ開発者に同じ能力を与えた場合、彼らは愚かでしょう。

¹OK、それは私自身の仮定です。

13
CBroe

ドメインが拡張子またはサブドメインのみで異なる場合を除き、複数のドメインを追加することはできません。

以下の例では、cuponeadosはドメイン拡張子(.com vs .com.ar)ので、両方cuponeados.com.arおよびcuponeados.comが許可されています:

enter image description here

こちらの回答をご覧ください: 単一のFacebookアプリケーションに複数のドメインを追加する必要があります

11
brunocascio

Tumblerがこれを行う方法は、*。example.comを使用して、ドメインの下のサブドメインを許可することです。これにより、すべてのサブドメインがアプリ(odisharkins.example.com、facebook.example.comなど)で動作できるようになります。複数のドメインを追加するには、特定の側面があります。 Facebook Blog をご覧ください。

さらにドメインは、サイトURL、モバイルサイトURL、キャンバスURL、セキュアキャンバスURL、ページタブURL、またはセキュアページタブURLのいずれかから派生する必要があります。

odisharkins.tumbler.comは問題になりません。正常に機能します。

ただし、harkinstech.comまたはodisharkins.comは機能しません。

5
Odis Harkins

私のために働いた:「トリックは、複数のアプリドメインを指定し、WebサイトのURL構成に有効なURLのコンマ区切りリストを使用することです。」

https://www.sitepoint.com/community/t/single-facebook-app-with-multiple-domains/99834/4

0
Tico Fortes