作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个iPhone应用程序,其中包括Facebook墙发布。登录后,我通过以下代码发布到用户墙:
NSString *appIcon = [NSString stringWithString:@"http://a2.twimg.com/profile_images/416166235/apple-black_normal.png"];
NSString *appSiteUrl = [NSString stringWithString:@"http://www.apple.com"];
NSString *attachment= [NSString stringWithFormat:@"{\"caption\":\"%@ Likes in the iPhone App\",\"description\":\"\",\"media\":[{\"type\":\"image\",\"src\":\"%@\",\"href\":\"%@\"}]}",_facebookName,appIcon,appSiteUrl];
// [attachment stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSArray *obj = [NSArray arrayWithObjects:attachment,nil];
NSArray *keys = [NSArray arrayWithObjects:@"attachment",nil];
NSDictionary *params = [NSDictionary dictionaryWithObjects:obj forKeys:keys];
NSLog(@"atachment : %@",[params description]);
[[FBRequest requestWithDelegate:self] call:@"facebook.stream.publish" params:params];
这会导致错误,指出“用户尚未授权应用程序执行此操作”。
在用户的Facebook个人资料中,应用程序仅有权访问用户的基本信息。所以我需要从用户那里获取“stream_publish”。
那么如何授予扩展权限对话框(“stream_publish”的权限)??
如有任何帮助,我们将不胜感激。
最佳答案
我自己找到了问题的解决方案。
实际上,问题的原因是应用程序没有“发布到墙”的权限。(publish_stream)。因此 FB 拒绝并出现以下错误。
“用户尚未授权此应用程序执行此操作”。
所以当用户登录时,要求用户授予publish_stream的权限,
- (void)session:(FBSession*)session didLogin:(FBUID)uid {
FBPermissionDialog *permissions = [[FBPermissionDialog alloc]initWithSession:_session];
permissions.permission = [NSString stringWithString: @"publish_stream"];
[permissions show];
}
`
一旦用户允许“发布到墙上”,此对话框将不会再次出现。
关于iphone - FBConnect: "The user hasn' t 授权应用程序执行此操作”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743896/
我是一名优秀的程序员,十分优秀!