标签: facebook-opengraph

开放图本地化

是否可以在 Facebook 的 OpenGraph 中本地化对象?

我的具体目标是让法语/英语用户能够喜欢相同的 URL 或 Graph 对象,同时在他们的时间线中显示特定于本地的描述。到目前为止,我可以实现这一点的唯一方法是拥有两个单独的图节点,有效地将喜欢的数量分成两半。

我试图提供我的页面的英语和法语版本,法语版本使用英语页面的 URL 作为其规范 URL,但这导致法语用户的英语页面的标题/描述出现在他们的时间线中。

有没有办法让页面的法语和英语版本同时拥有一个共享的“喜欢”计数?

facebook facebook-opengraph

5
推荐指数
1
解决办法
3532
查看次数

facebook opengraph 爬虫不发送给我 fb_locale

我有一个支持多种语言环境的 opengraph 对象(在本例中,默认为 en_US 和 fr_FR)。

这是 facebook opengraph 使用的生成 html 页面的示例,但是当我自己调用它时。

Default:
  <meta property="og:locale" content="en_US"/>
  <meta property="og:locale:alternate" content="en_US" />
  <meta property="og:locale:alternate" content="fr_FR" />
  <meta property="og:title" content="chair" />

?fb_locale=en_US
  <meta property="og:locale" content="en_US"/>
  <meta property="og:locale:alternate" content="en_US" />
  <meta property="og:locale:alternate" content="fr_FR" />
  <meta property="og:title" content="chair" />

?fb_locale=fr_FR
  <meta property="og:locale" content="fr_FR"/>
  <meta property="og:locale:alternate" content="en_US" />
  <meta property="og:locale:alternate" content="fr_FR" />
  <meta property="og:title" content="chaise" />
Run Code Online (Sandbox Code Playgroud)

Facebook 爬虫既不发送 fb_locale 也不发送 X-Facebook-Locale。

解决方法: 刷新facebook的缓存

curl -X POST -F "id=http://yoururl" -F "scrape=true" -F "locale=fr_fr" "https://graph.facebook.com" -s
Run Code Online (Sandbox Code Playgroud)

(在我的例子中,我使用了 fr_fr)

facebook internationalization facebook-opengraph

5
推荐指数
1
解决办法
1881
查看次数

Facebook linter报告og:图像太小,当它比它选择的图像大时

问题:

  • linter报告指定的og:图像太小.图像是628x464.
  • linter反而从页面中选取一个380x214的随机图像,小于og:图像!

短绒给我看的是什么:

http://developers.facebook.com/tools/debug/og/object?q=futuremark.com

背景:

我们很高兴使用130x110 og:过去9个月没有问题的图像.我注意到在过去的几周里,页面不再共享正确的图像.使用linter似乎Facebook最近决定og:图像应该至少200x200.所以我一直在用更大的例子替换我们的og:图像,但是linter仍然说它们太小了.

任何想法如何解决这个问题,还是Facebook的问题?谢谢.

image facebook-opengraph

5
推荐指数
2
解决办法
9541
查看次数

使用图形API成功发布了打开的图形故事,但在时间轴和活动日志中都没有看到

我使用图形API发布了一个Open Graph故事,但是我的Facebook墙上的任何地方都没有显示帖子,我的活动日志中也没有任何内容.

我在App仪表板中配置了故事.该对象具有一个自定义属性,它是具有公共URL的自托管对象.我使用了对象调试工具https://developers.facebook.com/tools/debug来确保所有元标记(包括自定义属性的元标记)都存在且没有显示错误.

然后我打电话发布这个故事:https://graph.facebook.com/me/namespace:action?access_token = ACCESS_TOKEN&method = POST &result = MY_OBJECT_PUBLIC_URL

我在回复中获得了帖子ID:{"id":"SOME_ID"}

我甚至可以使用图表API获得与帖子相关的所有信息,并返回帖子ID.

但是,我不会在我的FACEBOOK WALL,NEWS FEED或ACTIVITY LOG上看到任何地方.

关于可能发生什么的任何想法?

facebook facebook-graph-api facebook-timeline facebook-opengraph

5
推荐指数
3
解决办法
9114
查看次数

从数据库到元og的Blob图片:image

我的数据库中具有中等Blob数据类型,它存储的图片具有gif,jpg,png,bmp类型。

我正在开发一个JSF Web项目,并且可以毫无问题地检索到Blob。

我正在尝试从数据库中检索Blob数据,然后尝试将其插入到打开的图形图像中,这是针对我的Facebook共享功能。

<meta property="og:image" content="blob from db image here"/>
Run Code Online (Sandbox Code Playgroud)

但是我迷路了,我不确定该怎么办,我不认为也可以使用javascript将blob转换为base64数据。

任何人都可以指出我正确的方向吗?

更新

我想将blob转换为base64数据似乎是可能的。

这是我所做的:

<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script>
        var base64;
        base64 = '#{testController.RenderLogo(item.logo)}';
        $('head').append('<meta property="og:image" content="data:image/png;base64,'+base64+'"/>');
    </script>
</h:head>
Run Code Online (Sandbox Code Playgroud)

RenderLogo方法:

public String RenderLogo(byte[] rawLogo) {
    String base64String = Base64.encodeBase64String(rawLogo);
    return base64String;
}
Run Code Online (Sandbox Code Playgroud)

它可以在某些共享网站(如ShareThis)上运行,但是通过Facebook或Twitter分享时, 414 Request-URI Too Large

有什么建议么?:C

顺便说一句,我正在通过Facebook / Twitter分享使用ShareThis

jsf facebook opengraph facebook-opengraph

5
推荐指数
0
解决办法
1376
查看次数

发布打开图表不会在帖子中显示对象标题

我在Facebook上创建了一个餐馆应用程序,并创建了一个自定义故事,其动作类型为:"eat",对象类型为:"dish".当用户发布到Facebook时,我希望帖子的标题句子包含用户选择的菜肴的标题,例如:

"Bob在餐厅App上吃了馅饼"

在我发布到Facebook的那一刻,我得到的结果是:

"鲍勃在餐厅App吃了一道菜".

关于帖子的其他所有内容都按预期工作.

这是我正在使用的代码:

NSMutableDictionary <FBOpenGraphObject> *dish = [FBGraphObject openGraphObjectForPostWithType:@"restaurant-app:dish"
                                                                                        title:@"pie"
                                                                                        image:nil
                                                                                          url:nil
                                                                                  description:@"delicious pie"];

id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];

[action setObject:dish forKey:@"dish"];

[FBSettings enableBetaFeature:FBBetaFeaturesOpenGraphShareDialog];


[FBDialogs presentShareDialogWithOpenGraphAction:action
                                      actionType:@"restaurant-app:eat"
                             previewPropertyName:@"dish"
                                         handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
                                             if(error) {
                                                 NSLog(@"Error: %@", error.description);
                                             } else {
                                                 NSLog(@"Success!");
                                             }
                                         }];
Run Code Online (Sandbox Code Playgroud)

我觉得代码中只有一个简单的错误,但无法弄清楚它是什么.

任何帮助将不胜感激,

谢谢

facebook opengraph facebook-graph-api facebook-opengraph facebook-ios-sdk

5
推荐指数
1
解决办法
1921
查看次数

无法遵循重定向路径

我正在调试新网站的开放图,但出现以下错误:

无法跟随重定向路径URL返回了错误的HTTP响应代码。

https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.webcilento.com%2Fsite%2Feventi%2Ffiera-di-prova.html

仅在日历部分中会发生此错误(http://www.webcilento.com/site/eventi/fiera-di-prova.html

我正在使用Joomla 3.2.1

有任何想法吗?

facebook facebook-opengraph

5
推荐指数
1
解决办法
1万
查看次数

通过FB.ui Share Dialog动态生成明确共享的开放图形故事的描述

在我关于这个主题的所有研究中,90%的研究已经过时,这让我相信Facebook JS SDK最近有关于明确共享Open Graph故事的变化.我有以下代码:

function postToFB(desc){
FB.ui({
    method: 'share_open_graph',
    action_type: 'mynamespace:myaction',
    action_properties: JSON.stringify({
        myobject: "myobjectid"
    })
}, function(response){});
}
Run Code Online (Sandbox Code Playgroud)

这个问题是,它将尝试仅使用我在应用程序设置的Facebook Open Graph部分设置的设置来共享myobject.我想使用相同的对象,但每次共享时都用动态'desc'变量更改描述.有谁知道如何做到这一点?我可以在我的应用程序设置的Facebook Open Graph部分中静态设置标题,但我需要在每次共享时动态设置它.

我已经在Facebook JS SDK中搜索了可以添加到action_properties的其他键/值对,但SDK信息在这方面非常有限.

UPDATE

我修改了代码以包含2个调用,一个用于创建对象,第二个用新对象的信息发布故事.这是代码:

function postToFB(desc){
FB.api(
    'me/objects/mynamespace:myobject',
    'post',
    {
    object: {
        "app_id": myappid,
        "type": "mynamespace:myobject",
        "url": "myurl",
        "title": "mytitle",
        "image": "myimgurl",
        "description": desc
        }
    },
    function(response) {
        console.log(response);
        FB.ui({
            method: 'share_open_graph',
            action_type: 'mynamespace:myaction',
            action_properties: JSON.stringify({
                myobject: response.id
        })
    }, function(r){});
});
}
Run Code Online (Sandbox Code Playgroud)

然而,根据对这个问题的评论: Facebook对象API - 创建一个Facebook工作人员的重复对象表示这种方法不会被Facebook批准,因为用户的一个动作不能产生两个帖子,这个代码现在可以做到.一个人将该对象发布到Facebook用户的活动日志,并将其发布到活动日志和新闻源.

如果我只能进行一次调用并从FB.ui函数本身规定myobject描述应该是什么,那将是很好的.有谁知道如何做到这一点?

facebook facebook-graph-api facebook-javascript-sdk fb.ui facebook-opengraph

5
推荐指数
1
解决办法
3752
查看次数

Facebook opengraph(#2)服务暂时不可用

我有一个用户可以在其上发布节目的应用程序。我想添加rsvp_events,以便用户可以在单击“前进”按钮时将其活动发布到Facebook上。我已经设置了一切,一切似乎都很好,但是当我尝试使用Koala在Facebook上发布活动时,出现以下错误,

"error": {
  "message": "(#2) Service temporarily unavailable",
  "type": "OAuthException",
  "is_transient": true,
  "code": 2,
  "fbtrace_id": "H7WRzXo7d3C"
}
Run Code Online (Sandbox Code Playgroud)

}

我正在使用考拉宝石,我正在这样做,

@facebook = Koala::Facebook::API.new(oauth_token)
@facebook.put_connections("me", "namespace:go" , show: "http://samples.ogp.me/173451500015976867")
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

facebook ruby-on-rails facebook-opengraph koala-gem

5
推荐指数
0
解决办法
707
查看次数

为Twitter共享和Facebook共享使用唯一标题标签... og:标题覆盖twitter:title

我有两个社交分享元标记,我og:title用于Facebook和twitter:titleTwitter.我需要每个人都不同.Twitter总是使用开放图标题,我需要找到一种方法来为每个共享标题提供不同的内容.目前我的代码如下.

<meta content="my unique title for facebook" property="og:title" />
<meta content="a description tag here for facebook" property="og:description" />

<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="my unique title for twitter content" />
Run Code Online (Sandbox Code Playgroud)

共享功能使用"添加此" https://www.addthis.com/academy/setting-the-url-title-to-share/该软件是多个站点的模板,因此编辑不容易HTML我想找到仅使用元标记的解决方案.

我在用

<meta name="twitter:title" content="my content" />
Run Code Online (Sandbox Code Playgroud)

并分享这个Twitter分享仍在使用OG标签.

添加此代码看起来像

    <!-- AddThis Button BEGIN -->
    <!-- Go to www.addthis.com/dashboard to customize your tools -->
    <script type="text/javascript">

      var addthis_config = {
          services_compact: 'email, facebook, twitter, digg, reddit, linkedin, myspace, plaxo, blogger, livejournal, more',
          services_exclude: 'print' …
Run Code Online (Sandbox Code Playgroud)

html twitter facebook meta-tags facebook-opengraph

5
推荐指数
1
解决办法
188
查看次数