Twitter有一个非常有用的预览工具,用于测试您添加到网站开发版本的标签是否正确https://cards-dev.twitter.com/validator.Facebook Open Graph有类似的东西吗?
我正在尝试使用FBGraph让我的应用程序在用户墙上发布消息.但是,所有的API对我来说都是陌生的,我只是想改变一些事情,看看会发生什么.现在,我收到此错误消息
{
"error": {
"type": "OAuthException",
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration."
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道redirect_uri意味着什么?在Facebook的"应用程序设置"页面上会出现什么?
有没有办法检索在外部网站上点击了类似按钮的Facebook用户列表?
我想明白的是,喜欢的用户列表example.com/xyz和那些谁喜欢的example.com/abc.
我的直观方法是查看graph.facebook.com/123456789/likes(其中数字是从FB洞察中获取的域的ID),但这总是返回一个空数据集:
{
"data": [
]
}
Run Code Online (Sandbox Code Playgroud)
我还尝试从https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET获取OAuth访问令牌(其中APPID和APPSECRET来自标记为拥有域的FB应用程序使用OG元标记),但没有区别.
我也对非OpenGraph(即JS SDK,FQL等)解决方案感兴趣.
编辑:使用下面的代码(根据WideBlade的答案)仍然给我一个空的列表(第二个查询永远不会返回):
var objectsQuery = "select id from object_url where url in ('http://example.com/xyz', 'http://example.com/abc', 'http://example.com/123')";
var likesQuery = "select object_id from like where object_id = {0}";
FB.Data.query(objectsQuery).wait(function (objectRows) {
console.log(objectRows);
FB.Array.forEach(objectRows, function (objectRow) { …Run Code Online (Sandbox Code Playgroud) 将链接直接发布到Facebook页面上的标签页时,
https://www.facebook.com/PAGENAME?sk=app_APPID
Run Code Online (Sandbox Code Playgroud)
Facebook选择了Page的Open Graph <meta>标签,这意味着链接帖子与Page的个人资料图片,名称以及"Page• nlike this" 的描述相关联.
我曾希望Facebook会使用og <meta>应用程序HTML中的标签,允许自定义链接帖子.
在链接帖子中提供带有自定义内容的Facebook页面上特定标签的直接链接的最佳方式是什么?
我将所需的元标记放入我的页面,我有一个列表,我从facebook的文档中保存,网址为https://developers.facebook.com/docs/opengraph/#types
两个问题.一个是我的业务类型列表总共:
这有点疯狂.世界上每种类型的商业实体都可以归类为这五种商品之一吗?甚至没有"商店"?
该页面确认了该列表:http://www.netmagazine.com/tutorials/optimise-your-website-facebook但我的第二个问题是,Facebook似乎根本不再提供列表.文档说它在一个月前更新了.
本教程拥有了有趣的承诺,"Facebook表示,将积极监测中最常用的类型,并将它们添加到支持OG的列表:类型在适当的时候." 所以我似乎可以自己组成,说"商店"或"超市",这不会是一个错误.
这对我自己有什么好处或伤害呢?Facebook究竟使用这种元数据是什么?
我在打开图形对象的国际化方面遇到了麻烦.我提供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&ogObjId=0_0&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 …Run Code Online (Sandbox Code Playgroud) 我需要将Open Graph标签添加到博客页面.它从阅读规范(似乎http://ogp.me/使用)og:type的article是要走的路.但是,我发现规范不清楚,我不确定如何正确实现语法.
两个示例网站以不同方式实现此示例:
来自GitHub的示例:(https://github.com/niallkennedy/open-graph-protocol-examples/blob/master/article-utc.html)
<head prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article#">
<meta property="og:title" content="...">
<meta property="og:type" content="article">
<meta property="article:published_time" content="...">
Run Code Online (Sandbox Code Playgroud)
请注意og和article名称空间已注册,og并且article用作属性.
BBC新闻文章
<head>
<meta property="og:title" content="...">
<meta property="og:type" content="article">
<meta property="og:article:author" content="...">
Run Code Online (Sandbox Code Playgroud)
注意没有命名空间注册,og并且og:article用作属性.
我在上面看到的变体,仅注册og名称空间并仍然og:article作为属性引用.
<head prefix="og: http://ogp.me/ns#">
<meta property="og:title" content="...">
<meta property="og:type" content="article">
<meta property="og:article:published_time" content="..">
Run Code Online (Sandbox Code Playgroud)选项3是我第一次尝试实现它时使用的.当我通过Facebook验证工具运行时,我被告知:
此类对象不允许名为"og:article:published_time"的属性.
目前,我已经选择了1,虽然这有效,但我想知道确切正确的语法是什么?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />
<title></title>
<meta property="og:title" content="Katha Screenplay Darsakatvam (KSD) Appalaraju "/>
<meta property="og:type" content="movie"/>
<meta property="og:url" content="http://reviewumpire.com/movies/54-katha-screenplay-darsakatvam-ksd-appalaraju-"/>
<meta property="og:image" content="http://reviewumpire.com/images/uploads/movie/vertical/54/vert.jpg"/>
<meta property="og:site_name" content="ReviewUmpire"/>
<meta property="fb:app_id" content="162180660488445" />
<meta property="fb:admins" content="57728908711" />
<meta property="og:description" content="23% scored on reveiwumpire."/>
<meta name="google-site-verification" content="RXjWilEYk0eC_6ulYSV_AaFVSQe8nHI6Zw4_W9dVR5I" />
<script src="/javascripts/vendor/jquery.min.js?1306239220" type="text/javascript"></script>
<script src="/javascripts/vendor/quote.rotator.js?1306239220" type="text/javascript"></script>
<script src="/javascripts/vendor/scroll.js?1306239220" type="text/javascript"></script>
<script src="/javascripts/vendor/rails.js?1306239220" type="text/javascript"></script>
<script src="/javascripts/application.js?1306239220" type="text/javascript"></script>
<link href="/stylesheets/compiled/grid.css?1306239220" media="screen" rel="stylesheet" …Run Code Online (Sandbox Code Playgroud) 我有Facebook OpenGraph API的问题.每当我使用'/ home'或'/ feed'请求数据时,Instagram上没有任何帖子出现.
我一直在谷歌搜索,显然有些人提出了同样的问题,但还没有解决方案.我读到一些问题,不仅影响来自Instagram的帖子,还影响其他第三方应用/设备/平台.
甚至在Facebook的开发页面上张贴的门票似乎有点死(没有延续).链接:https://developers.facebook.com/bugs/110563582419837/
如果你们中的任何人也偶然发现了这个问题并且有一些想法/指针/链接,请分享并让我们讨论它.
非常感激.干杯!
在我的应用程序中,我允许用户通过oauth连接他们的Facebook帐户,以便通过我们的界面发布.我们支持简单管理页面的页面帐户和常规帐户.
我们还检查opengraph API调用的结果,以获取其配置文件或页面的有效URL.我们使用的主要端点是https://graph.facebook.com/me(带有oauth凭证).对于某些仅限页面的帐户,返回的对象具有"链接"值,当输入到Web浏览器中时,该值为404s.
我看到的错误网址分为两种不同的情况:
该URL可以是"www.facebook.com/ {page_id}"形式,在某些页面上有404,但在其他页面上没有.
URL的格式可以是"www.facebook.com/profile.php?id={user_id}",这通常不是404.
我见过的唯一适用于所有帐户的网址格式是www.facebook.com/profile.php?id={page_id}.在第一种情况下,我们检测到'link'字段不是正确的形式(使用profile.php?id = ...),并构造一个具有适当结构的URL,并且它可以工作.
我正在考虑添加的下一个启发式是查看URL是否是正确的形式....但使用{user_id}作为profile.php的id参数,并使用{page_id}构建URL.显然,这太荒谬了.
那么,是否有一种很好的方法可以知道某个帐户是否会返回无效的链接?这是API中的错误吗?考虑到开放图形API上的用户,获取其个人资料/页面的工作链接,最可靠的方法是什么?
opengraph ×10
facebook ×7
api ×2
article ×1
facebook-fql ×1
graph ×1
instagram ×1
localization ×1
meta-tags ×1
tags ×1