【发布时间】:2012-07-04 09:26:51
【问题描述】:
我已经为此花费了数小时,但无法使其正常工作。基本上,我只想要我的应用程序中的一个按钮,它会在 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 Like 按钮,按下它会提供奖励金币。这是我希望达到的目标。
编辑-------
我已将权限更改为 @"publish_actions"、@"user_birthday",现在身份验证对话框显示
“此应用可能会代表您发布,包括您喜欢的对象和 更多”
这似乎是 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 页面?
谢谢
【问题讨论】:
-
FB 应用设置 -> 高级 -> 身份验证中的应用类型是否设置为“本机/桌面”?
-
是的。我现在认为这是不可能的。您可以点赞应用中的内容,例如食谱应用中的菜谱,但不能点赞粉丝页面等。
-
你是对的。 docs 表示必须满足以下条件才能发布内置的类似操作:应用内内容具有使用 Open Graph 元标记正确标记的 Open Graph 对象页面,并且查看者有意点击在与应用内内容相关联的自定义应用内“赞按钮”上。但是,您始终可以重定向到您的 Facebook 页面。
标签: ios xcode facebook facebook-graph-api facebook-ios-sdk