2

Open Oraph オブジェクトの国際化で問題が発生しました。

opengraph オブジェクトを特定のロケールでスクレイピングするようにスクレイパーに依頼すると、オブジェクトは最初にデフォルトのロケールで、つまりパラメーター fb_locale なしでスクレイピングされ、その後、正しいロケールで、つまり fb_locale=[LOCALE] でスクレイピングされます。スクレイプの戻り値には、最初のデフォルト ロケール (en_US) のスクレイプの結果が含まれており、オブジェクトは、慢性でもフィードでも正しいロケールで表示されません。

ここに私の電話があります:

Call the scraper
POST        https://graph.facebook.com
id          http://apps.facebook.com/[APP_NAMESPACE]/?ogObjType=prize&ogObjId=1&ogObjVariant=
scrape      true
locale      de_DE

次に、最初のスクレイピングが Facebook によって行われます。

GET [GAME_HOST]?ogObjType=prize&ogObjId=1&ogObjVariant

Returns:
<html><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# [APP_NAMESPACE]: http://ogp.me/ns/fb/[APP_NAMESPACE]#">

  <meta property="og:locale" content="en_US" />
  <meta property="og:locale:alternate" content="de_DE" />
  <meta property="og:locale:alternate" content="en_US" />
  <meta property="og:locale:alternate" content="fr_FR" />
  <meta property="fb:app_id" content="[APP_ID" /> 
  <meta property="og:type"   content="[APP_NAMESPACE]:prize" /> 
  <meta property="og:url"    content="http://apps.facebook.com/[APP_NAMESPACE]/?ogObjType=prize&ogObjId=1&ogObjVariant" /> 
  <meta property="og:title" content="Golden Medal" />
  <meta property="og:description" content="A Golden Medal" />
  <meta property="og:determiner" content="the" />
  <meta property="og:image" content="[IMAGE_en_US_URL]" />
</head><body...</body></html>

次に、2 番目のスクレイピングは facebook によって行われます。

GET [GAME_HOST]?ogObjType=prize&ogObjId=1&ogObjVariant&fb_locale=de_DE

Returns:
<html><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# [APP_NAMESPACE]: http://ogp.me/ns/fb/[APP_NAMESPACE]#">

  <meta property="og:locale" content="de_DE" />
  <meta property="og:locale:alternate" content="de_DE" />
  <meta property="og:locale:alternate" content="en_US" />
  <meta property="og:locale:alternate" content="fr_FR" />
  <meta property="fb:app_id" content="[APP_ID]" /> 
  <meta property="og:type"   content="[APP_NAMESPACE]:prize" /> 
  <meta property="og:url"    content="http://apps.facebook.com/[APP_NAMESPACE]/?ogObjType=prize&ogObjId=1&ogObjVariant" /> 
  <meta property="og:title" content="Goldmedaille" />
  <meta property="og:description" content="Eine Goldmedaille" />
  <meta property="og:determiner" content="the" />
  <meta property="og:image" content="[IMAGE_de_DE_URL]" />
</head><body>...</body></html>

スクレーパーは次を返します。

{"url":"http:\/\/apps.facebook.com\/[APP_NAMESPACE]\/?ogObjType=prize&ogObjId=1&ogObjVariant",
"type":"[APP_NAMESPACE]:prize",
"title":"Golden Medal",
"locale":{"locale":"en_us","alternate":["de_de","en_us","fr_fr"]},
"image":[{"url":"[IMAGE_en_US_URL]"}],
"description":"A Golden Medal",
"site_name":"[APP_NAME]",
"determiner":"the",
"updated_time":"2012-08-21T08:58:57+0000",
"id":"[SOME_ID]",
"application":{"id":"[APP_ID]","name":"[APP_NAME]","url":"http:\/\/www.facebook.com\/apps\/application.php?id=[APP_ID]"}}

オブジェクトが 2 回スクレイピングされ、ローカライズされたバージョンが保存されない理由について何か提案はありますか?

4

0 に答える 0