0

当我在 ios 上使用 facebook sdk 从我的应用程序将照片发布到我的时间轴时,它没有显示在那里。相反,它进入了一个自定义相册(我喜欢),但我必须先手动批准照片,然后照片在我的时间轴上显示为“只有我”,我必须更改这些权限,然后其他人才能看到邮政。

在此处输入图像描述

显然,这对于照片编辑应用程序来说并不理想。

我正在使用我在这里和他们的示例中找到的代码变体。如果有帮助,我可以发布代码,但它是从这里开始的工作代码。即使在我的代码中我要求:

defaultAudience:FBSessionDefaultAudienceFriends

我尚未提交我的 fb 应用程序详细信息页面,但我将我的 fb 应用程序从沙盒中移出并投入使用。它正在将照片上传到我的个人资料中......

我究竟做错了什么?

更新:

我发现应用程序本身设置为“只有我”。在应用中心:https ://www.facebook.com/appcenter/my当我找到应用并点击设置时..它设置为只有我。默认情况下,我需要将其设置为至少 Friends 或 Friends of Friends。在我编译的示例 fb 应用程序中.. 其中一些也只显示了我 - 比如 Scrumptious 和 SessionLoginSample,这可能是我获得登录代码的地方。HellowFBSample 设置为好友。

关于默认情况下为什么将其设置为无用权限的任何想法。我不能指望用户切换权限。

更新 2:

我将继续发布该代码..因为我发现了我的错误..也许它会对某人有所帮助。实际上我从这里得到的代码:

FBSession:尝试重新授权未打开会话的权限

我已经在那里编辑了检查的答案,但我复制了该代码并且它有:

        [[FBSession activeSession] requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_action"] defaultAudience:FBSessionDefaultAudienceFriends
                                          completionHandler:^(FBSession *session,NSError *error){
                                              [self publishStory];
                                          }];

publish_action 是错误的。它必须是带有 S 的 publish_actions。否则你会得到我得到的。它会私下保存照片,但将应用程序设置为“只有我”,因为您实际上没有发布它的权限。

4

1 回答 1

0

我用这个。但在上传之前,您必须向 Facebook 请求许可。

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                                             self.image, @"picture",
                                                             self.captionTextField.text, @"name", nil];
                              FBRequest *uploadRequest = [FBRequest requestWithGraphPath:@"me/photos"
                                                                              parameters:params
                                                                              HTTPMethod:@"POST"];
                              [uploadRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                               {

                               }];
于 2013-10-17T11:08:49.023 回答