使用iOS SDK在Facebook上发布带有说明的图片

穆罕默德·贾汉扎卜(Muhammad Jahanzaib)

我正在尝试在Facebook上发布/分享图片。首先,我使用以下命令获取发布权限:

        NSArray *permissionsNeeded = @[@"publish_actions"];
        [FBRequestConnection startWithGraphPath:@"/me/permissions"
                              completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                  if (!error){
                                      NSDictionary *currentPermissions= [(NSArray *)[result data] objectAtIndex:0];
                                      NSMutableArray *requestPermissions = [[NSMutableArray alloc] initWithArray:@[]];

                                      for (NSString *permission in permissionsNeeded){
                                          if (![currentPermissions objectForKey:permission]){
                                              [requestPermissions addObject:permission];
                                          }
                                      }

                                      if ([requestPermissions count] > 0){
                                          [FBSession.activeSession requestNewPublishPermissions:requestPermissions
                                                                                defaultAudience:FBSessionDefaultAudienceFriends
                                                                              completionHandler:^(FBSession *session, NSError *error) {
                                                                                  if (!error) {
                                                                                      [self shareDataOnFacebook];
                                                                                  } else {
                                                                                      NSLog(@"%@", error.description);
                                                                                  }
                                                                              }];
                                      } else {
                                          [self shareDataOnFacebook];
                                      }

                                  } else {
                                      NSLog(@"%@", error.description);
                                  }
                              }];

如果我NSLog会话,我得到这个:

FBSessionStateOpenTokenExtended,loginHandler:0x15eab870,appID:719202928131376,urlSchemeSuffix:,tokenCachingStrategy :, expirationDate:4001-01-01 00:00:00 +0000,refreshDate:2014-05-10 12:57:41 +0000,trypedRefreshDate:0001- 12-30 00:00:00 +0000,权限:(状态,权限,“发布动作”)>

现在,如果我尝试使用以下方式发布图片:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                       @"{image-url}", @"url",
                       nil
                   ];
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/me/photos"
                         parameters:params
                         HTTPMethod:@"POST"
                  completionHandler:^(
                      FBRequestConnection *connection,
                      id result,
                      NSError *error
                  ) {
                      /* handle the result */
                  }];

我收到错误消息:

错误Domain = com.facebook.sdk代码= 5“操作无法完成。(com.facebook.sdk错误5。)” UserInfo = 0x15e4f370 {com.facebook.sdk:HTTPStatusCode = 403,com.facebook.sdk :ParsedJSONResponseKey = {正文= {错误= {代码= 200; message =“(#200)权限错误”; 类型= OAuthException; }; }; 代码= 403; },com.facebook.sdk:ErrorSessionKey =,到期日期:4001-01-01 00:00:00 +0000,刷新日期:2014-05-10 12:57:41 + 0000,tryedRefreshDate:0001-12-30 00: 00:00 +0000,权限:(状态,权限,“发布动作”)>}

即使,当我再次获得许可时,“ publish_actions”也不在列表中。请指导我我在做什么错。

还有其他共享/发布带有描述的图片的方法(没有任何链接,这是“共享”对话框所必需的)?

用户名

敲了几个小时后,我想通了。看来您需要在developers.facebook.com上的“状态和评论”下进入应用程序设置,并请求发布应用程序的权限。如果您只需要测试,则可以转到“角色”并添加要尝试以其应用程序开发人员身份登录的Facebook用户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

cordova-plugin-facebook4在Android上发布带有图片错误的图片

如何使用Ansible发布带有参数的Json文件

iOS快速发布带有二进制正文的请求

使用Facebook iOS SDK发布运行操作

使用图形API将带有图片的消息发布到Facebook页面/提要

Polymer:使用application / json contentType发布带有文件上传的铁表格

在后端使用laravel发布带有react的请求ajax

nodeJs-使用Unirest发布带有表单数据的请求

使用React JS和Express API服务器发布带有提取的对象

如何使用alamofire快速发布带有json顺序的请求?

Unity facebook SDK,无法使用FB.Feed发布图片

如何在iOS 10上使用Facebook iOS SDK

无法使用Android版Facebook SDK在Facebook上发布

无法使用Android版Facebook SDK在Facebook上发布

使用 python facebook sdk 在 facebook 上发布更新/消息

如何每次Jmeter都使用不同的文件多次发布带有文件上传的http请求

发布带有工件的测试程序集,以便在VSTS上进行功能测试时使用它们

如何使用 c# WPF 在 Web API 中发布带有子详细信息的数据?

如何使用 gradle maven-publish 插件和 Kotlin DSL 发布带有空 pom 的 shadow jar?

Facebook Graph发布带有链接和自定义图片的帖子不适用于v2.9

发布带有指向Facebook链接的消息时出错

Facebook GraphAPI,发布带有标题/描述的视频

在iOS中使用FBWebDialogs在Facebook上的朋友墙上发布信息

使用iOS的FBSDK 4.x在Facebook上发布图像

在人工仓库上发布带有javadocs的.aar文件

使用2.0+ API,PHP SDK在Facebook组上发布

使用javascript sdk在Facebook上发布时收到错误

带有最新SDK的iOS中的Facebook登录问题

Facebook iOS SDK:获取相册的封面图片