适用于 iOS 的 Facebook SDK 不会随链接一起发布照片

Posted

技术标签:

【中文标题】适用于 iOS 的 Facebook SDK 不会随链接一起发布照片【英文标题】:Facebook SDK for iOS doesn't post a photo along with the link 【发布时间】:2014-04-04 15:20:35 【问题描述】:

我正在尝试发布包含链接和图片的消息,但在帖子中我看不到图片。我没有收到错误。 帖子已正确发布,同时显示消息和链接,但未显示照片。

-(void)postOnFacebook

if (FBSession.activeSession.isOpen)
    [self postOnWall];
else

    [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObjects:@"publish_actions", nil]
                                       defaultAudience:FBSessionDefaultAudienceEveryone
                                          allowLoginUI:YES
                                     completionHandler:^(FBSession *session,
                                                         FBSessionState status,
                                                         NSError *error)
     
         if (error)
             NSLog(@"Login failed");
         else if (FB_ISSESSIONOPENWITHSTATE(status))
             [self postOnWall];
     ];
;


- (void)postOnWall

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

FBRequestHandler handler =
^(FBRequestConnection *connection, id result, NSError *error) 
    [self requestCompleted:connection forFbID:@"me" result:result error:error];
;

NSMutableDictionary *params = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
                               @"Test", @"message",
                               @"www.google.com", @"link",
                               [UIImage imageNamed:@"temp.png"], @"picture",
                               @"description", @"description",
                               nil];

FBRequest *request=[[FBRequest alloc] initWithSession:FBSession.activeSession graphpath:@"me/feed" parameters:params HTTPMethod:@"POST"];
[newConnection addRequest:request completionHandler:handler];
[requestConnection cancel];
requestConnection = newConnection;
[newConnection start];
 

【问题讨论】:

【参考方案1】:

picture 参数需要一个有效的 url。请参阅here 了解更多信息。

如果您有图片数据,那么您首先必须部署该图片并生成该图片的链接,然后将其提供给picture url

或者,您可以先使用 /photos 在 Facebook 上发布图片,然后在 /feed 中使用。

希望对您有所帮助。祝你好运!

【讨论】:

【参考方案2】:

您应该在发布图片时使用 graphPath:@"me/photos" 而不是 graphPath:@"me/feed"

【讨论】:

那是错误的答案。如果需要,您甚至可以使用feed 添加图片!

以上是关于适用于 iOS 的 Facebook SDK 不会随链接一起发布照片的主要内容,如果未能解决你的问题,请参考以下文章

适用于iOS的Facebook SDK:未显示FBSDKShareDialog

适用于 iOS 的 Facebook SDK

适用于 iOS 的 Facebook SDK 登录

适用于 iOS 访问令牌问题的 Facebook SDK

适用于 iOs 的 Facebook SDK 无法正常工作

适用于 iOS 的 Facebook SDK 的权限