Open Graph对象国际化:没有scrape/missing参数fb_locale

Mar*_*ker 13 localization graph internationalization opengraph

我在打开图形对象的国际化方面遇到了麻烦.我提供og:locale以及og:locale:alternate标签,但Facebook不会在不同的区域设置中抓取我的对象.在http://developers.facebook.com/tools/debug的对象调试器中,我可以看到og:locale:alternate被解析并将它们显示为数组.但是单击其中一个会导致没有任何参数的刮擦.既不提供fb_locale也不提供语言环境,也不提供标题X-Facebook-Locale.

这是一个示例对象:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<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="181576101937079">
<meta property="og:type" content="APP_NAMESPACE:level">
<meta property="og:url" content="http://apps.facebook.com/APP_NAMESPACE/?ogObjType=level&amp;ogObjId=0_0&amp;ogObjVariant=">
<meta property="og:title" content="Tree House Level 1">
<meta property="og:description" content="">
<meta property="og:determiner" content="the">
<meta property="og:image" content="https://URLTOIMAGE">
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我手动添加fb_locale = de_DE时,它会返回.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<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="181576101937079">
<meta property="og:type" content="APP_NAMESPACE:level">
<meta property="og:url" content="http://apps.facebook.com/APP_NAMESPACE/?ogObjType=level&amp;ogObjId=0_0&amp;ogObjVariant=">
<meta property="og:title" content="Baumhaus Level 1">
<meta property="og:description" content="">
<meta property="og:determiner" content="the">
<meta property="og:image" content="https://URLTOIMAGE">
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉为什么Facebook没有刮掉我的对象的本地化版本?

小智 0

我有同样的问题。OG 标签:

<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="en_GB" />
<meta property="og:locale:alternate" content="fr_FR" />
<meta property="og:locale:alternate" content="ru_RU" />
Run Code Online (Sandbox Code Playgroud)

如果我这样做了

curl -X POST -F "id=http://gorokhovsky.nampohui.ru" -F "scrape=true" -F "locale=en_GB" "https://graph.facebook.com"
Run Code Online (Sandbox Code Playgroud)

或区域设置=en_US

我的服务器收到来自 FB 的请求,我收到了正确的答案。

{"url":"http:\/\/gorokhovsky.nampohui.ru\/","type":"website","title":"Surfingbird - your personal web!","locale":{"locale":"en_us","alternate":["en_gb","ru_ru","fr_fr"]},"image":[{"url":"http:\/\/surfingbird.ru\/img\/logo-mailru2.gif?v=1"}],"description":"We pick interesting websites, photos and videos that you\u2019ll like.","site_name":"Surfingbird.ru","updated_time":"2013-02-27T15:04:20+0000","id":"356024197844717","application":{"id":"179736405468568","name":"Gorokhovsky2","url":"http:\/\/www.facebook.com\/apps\/application.php?id=179736405468568"}}
Run Code Online (Sandbox Code Playgroud)

但如果我设置 locale=fr_FR 或 ru_RU,我会收到

"error":{"message":"Unsupported post request.","type":"GraphMethodException","code":100}
Run Code Online (Sandbox Code Playgroud)

我的服务器没有收到来自 FB 的请求

如果我设置 locale=ru_ru 或 fr_fr,它的工作方式类似于 locale=en_US

我认为 FB 不正确处理区域设置字符的大小写