0

Facebook オブジェクト デバッガーは次のように教えてくれます

オブジェクトに必要な値がありません: URL ' http://apps.facebook.com/cpuzzle_dev/opengraph/product/facebook.v16cashbundleXL.html ' のオブジェクト タイプ 'product' は、必須プロパティ 'product:price:currency' であるため無効ですタイプ 'string' の が提供されませんでした。

ただし、「スクレーパーがあなたの URL について何を見ているかを正確に見る」をクリックすると、次のようになります。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta property="og:type" content="og:product">
<meta property="og:title" content="800 Puzzle Cash">
<meta property="og:image" content="http://example.com/assets/assets/platform/cash-stack-3.jpg">
<meta property="og:url" content="http://apps.facebook.com/cpuzzle_dev/opengraph/product/facebook.v16cashbundleS.html">
<meta property="og:description" content="A solid amount of Puzzle Cash">
<meta property="product:price:amount" content="3.80">
<meta property="product:price:currency" content="USD">
<meta property="product:price:amount" content="2.99">
<meta property="product:price:currency" content="EUR">
</head></html>

では、何が問題で、どうすれば修正できますか?

追加情報: 金額要素と通貨要素の順序を入れ替えると、同じエラーが発生し、"product:price:amount" プロパティが欠落していることを訴えます。

追加情報: Facebook のサンプル プロジェクトと正確に一致するように製品定義を変更しました(興味深いことに、ライブ サンプル プロジェクトには「製品」名前空間がありません)。サンプルプロジェクトでは機能しますが、私のプロジェクトでは機能しません...

4

1 に答える 1

0

試行錯誤を繰り返した結果、Facebook に製品定義を受け入れてもらう方法をようやく見つけました。

本当の問題は、構造や通貨プロパティにあるようには見えませんが、og:urlプロパティにあるようです - どうやらそれはドメイン内にあってはならapps.facebook.com、サーバー ドメインを使用する必要があります。それを変更したら、問題はなくなりました。

于 2013-06-19T14:35:44.573 に答える