0

我正在为 IOS 使用最新版本的 facebook sdk 4.1,但是当我发布图像和文本时,它给出了一个错误。下面是我的代码 -

NSArray *permissions = [[NSArray alloc] initWithObjects: @"publish_actions", @"user_photos", nil];

        [FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:YES completionHandler:^(FBSession *session,FBSessionState status,NSError *error)
         {
             if (error)
             {

             }
             else if(FB_ISSESSIONOPENWITHSTATE(status))
             {
                 [[FBRequest requestForMe] startWithCompletionHandler:
                  ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
                      if (!error)
                      {
                          NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:
                                                      imgShare,@"picture", txtViewPost.text,@"message",
                                                      nil];

                          FBRequest *request = [FBRequest requestWithGraphPath:@"me/feed"
                                                                    parameters:parameters
                                                                    HTTPMethod:@"POST"];

                          FBRequestConnection *connection = [[FBRequestConnection alloc] init];

                          [connection addRequest:request
                               completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                           {
                               if (!error)
                               {
                                   isFacebookActive = YES;
                                   [btnFacebook setImage:[UIImage imageNamed:@"facebook-round-active-btn.png"] forState:UIControlStateNormal];
                                   NSLog(@"Photo uploaded successfuly! %@",result);

                               }
                               else
                               {
                                   NSLog(@"Photo uploaded failed :( %@",error.userInfo);
                                   isFacebookActive = NO;
                                   [btnFacebook setImage:[UIImage imageNamed:@"facebook-round--btn.png"] forState:UIControlStateNormal];
                               }
                           }];
                          [connection start];

                      }
                  }];

             }
         }];

下面是错误日志

Photo uploaded failed :( {
    "com.facebook.sdk:ErrorSessionKey" = "<FBSession: 0x7fb7d20a3280, state: FBSessionStateOpen, loginHandler: 0x7fb7d0f40520, appID: 386374258207146, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x7fb7d0ea89b0>, expirationDate: 2015-07-12 08:31:47 +0000, refreshDate: 2015-05-13 14:30:50 +0000, attemptedRefreshDate: 0000-12-30 00:00:00 +0000, permissions:(\n    \"user_location\",\n    \"user_events\",\n    \"user_photos\",\n    \"user_videos\",\n    \"user_friends\",\n    email,\n    \"publish_actions\",\n    \"public_profile\"\n)>";
    "com.facebook.sdk:HTTPStatusCode" = 400;
    "com.facebook.sdk:ParsedJSONResponseKey" =     {
        body =         {
            error =             {
                code = 100;
                message = "(#100) picture is not properly formatted";
                type = OAuthException;
            };
        };
        code = 400;
    };
}
4

1 回答 1

0

将代码“me/feed”更改为“me/photos”后,它对我有用。

FBRequest *request = [FBRequest requestWithGraphPath:@"me/photos" 参数:参数 HTTPMethod:@"POST"];

于 2015-05-14T06:31:46.537 回答