当我通过对象调试器运行我的Facebook Open Graph对象(http://www.21dads.com/testobject)时,我收到以下错误:
对象无效值:'thetestasdf:recipie'类型的URL'http://www.21dads.com/testobject'上的对象无效,因为属性'og:url'的给定值'www.21dads.com/testobject'可以不被解析为类型'url'.
缺少必需属性:og:url属性是必需的,但不存在.
缺少必需属性:og:type属性是必需的,但不存在.
缺少必需属性:og:title属性是必需的,但不存在.
这是对象页面上的HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# thetestasdf: http://ogp.me/ns/fb/thetestasdf#">
<meta property="fb:app_id" content="325291980834949" />
<meta property="og:type" content="thetestasdf:recipie" />
<meta property="og:url" content="www.21dads.com/testobject" />
<meta property="og:title" content="Cookie Recipie!" />
<meta property="og:description" content="Tastiest recipe ever" />
<meta property="og:image" content="http://cdn.techpatio.com/wp-content/uploads/2009/11/cookie_law_eu.gif" />
<title> Cookie Recipie</title>
<head/>
<body>
<p> Test object page </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
URL"www.21dads.com/testobject"是我的控制器,然后从视图文件生成HTML.为什么不能解析此URL?
为什么我已经包含其他"缺少必需属性"错误?
谢谢.
我花了好几个小时才开始工作.基本上我只想在我的应用程序中使用一个按钮,它将在Facebook上"赞".我在开发Facebook上创建了应用程序,并有一个关联的应用页面.在我的代码中,我请求这些权限:
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
Run Code Online (Sandbox Code Playgroud)
我可以很好地检索个人资料图片,但是当我尝试使用此代码'喜欢'时:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
Run Code Online (Sandbox Code Playgroud)
我收到此错误响应:
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
Run Code Online (Sandbox Code Playgroud)
登录应用程序时,Facebook会要求我允许查看我的生日,并告诉我,它将代表我发布,但似乎没有获得publish_actions权限.
有什么我想念的东西需要做吗?
我看到Temple Run有一个Facebook赞按钮,并提供奖励硬币按下它.这就是我希望实现的目标.
编辑-------
我已将我的权限更改为@"publish_actions",@"user_birthday",现在auth对话说
"此应用可能代表您发布,包括您喜欢的对象以及更多内容"
这似乎是publish_actions权限,但我仍然得到错误
message ="(#200)需要扩展权限:publish_actions";
我改变了这一行:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:selrf];
Run Code Online (Sandbox Code Playgroud)
对此:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
Run Code Online (Sandbox Code Playgroud)
我现在回复了,虽然它没有发布'喜欢'
这是结果响应:
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
Run Code Online (Sandbox Code Playgroud)
知道下一步该尝试什么吗?
编辑2 ---------------我正在取得进展.我已将用户ID添加到图形请求中,如下所示 …