我花了好几个小时才开始工作。基本上我只想在我的应用程序中使用一个按钮,它将在Facebook上“赞”。 我在开发Facebook上创建了应用程序,并有一个关联的应用页面。 在我的代码中,我请求这些权限:
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"publish_actions", @"user_birthday", nil];
我可以很好地检索个人资料图片,但是当我尝试使用此代码“赞”时:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
_facebook.accessToken, @"access_token",
nil];
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andParams:params andHttpMethod:@"POST" andDelegate:self];
我收到此错误回复:
(facebookErrDomain error 10000.)" UserInfo=0x20090590 {error={
code = 200;
message = "(#200) Requires extended permission: publish_actions";
type = OAuthException;
}}
登录应用程序时,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];
到此:
[_facebook requestWithGraphPath:@"329756493773381/og.likes" andDelegate:self];
我现在收到回复,虽然它没有发布'喜欢'
这是结果回复:
{
data = (
);
paging = {
next = "https://graph.facebook.com/329756493773381/og.likes?sdk=ios&sdk_version=2&access_token=BAAGeAp3ZBGwoBAPICjlgB5zK0YECyP8yElf8hJoMrx8Qs4vjeZAK5PlXFAVbGM1JyXHE0wZBvU0aBeCzCUTZBejQgoJ44CAIQsrG64TfrHdxjMqWD&format=json&offset=25&limit=25";
};
}
知道下一步该尝试什么?
编辑2 --------------- 我正在取得进展。 我已将用户ID添加到图形请求中,如此
NSString *graphPath = [NSString stringWithFormat:@"%@/og.likes",facebookID];
并使用这些参数
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"AAAGeAp3ZBGwoBABvKjsPZAoQQNG9cDPJI2v2TI8acyyPSNtm9ZBkfydHqVZAjSKWSbLuvFwxyxSrCts7kFZCnh7Y6f5PFNlWb6smF8XF33wlRZBgfLyhT1", @"access_token",
@"http://samples.ogp.me/329756493773381", @"object",
nil];
现在我想出现在我的时间轴上:-) 我正在使用Facebook登录提供的访问令牌,但似乎图表对象提供的访问令牌不同。
现在,我所看到的有这种模式:
Darren喜欢MyAPP上的对象
甚至可以将其作为
Darren喜欢MyAPP 与它链接到应用程序Facebook页面?
由于
答案 0 :(得分:5)
检查您是否已完成以下步骤:
https://developers.facebook.com/docs/opengraph/tutorial/
“注意:此权限的用户提示将显示在增强型身份验证对话框的第一个屏幕中,并且无法作为身份验证流程的一部分撤消。” - 链接
如果你还没有尝试这个:
验证对话 - >配置Facebook如何将用户引荐到您的应用 - >添加publish_actions权限。
https://developers.facebook.com/docs/opengraph/authentication/
“要启用新的Auth Dialog,请转到App Dashboard,然后在应用的Advanced部分启用Enhanced Auth Dialog设置。” -link
希望这有帮助!
答案 1 :(得分:0)
这似乎与我在这个问题上遇到的问题相同: Facebook iOS SDK 3.0, implement like action on a url?
但是如果你想在应用程序中喜欢你的facebook页面,那么在Objective C中没有办法做到这一点。只有你可以在这里生成的javascript Like按钮: https://developers.facebook.com/docs/reference/plugins/like/
Temple Run的方式是在Web视图中显示Like按钮,因此他们的like按钮实际上在他们的服务器上,这可能是一个丑陋的黑客,但是可以用来喜欢页面。