【发布时间】:2015-09-26 00:42:59
【问题描述】:
我正在将旧版应用从 facebook iOS SDK 2.x 迁移到 3.x,但无法让我的打开图形对象成功共享。
这是我必须共享对象的代码:
NSMutableDictionary *properties = [@{
@"og:type": @"my-app:my-object",
@"og:title": @"Title",
@"og:description": @"text",
} mutableCopy];
if(photoUrl){
FBSDKSharePhoto *photo = [FBSDKSharePhoto photoWithImageURL:[NSURL URLWithString:photoUrl] userGenerated:NO];
properties[@"og:image"] = @[photo];
}
FBSDKShareOpenGraphObject* graphObject = [FBSDKShareOpenGraphObject objectWithProperties:properties];
FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
action.actionType = @"my-app:my-action";
[action setObject:graphObject forKey:@"my-object"];
FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
content.action = action;
content.previewPropertyName = @"my-object";
FBSDKShareAPI* shareAPI = [FBSDKShareAPI shareWithContent:content delegate:[ShareDelegate theShareDelegate]];
if(![shareAPI share]){
NSLog(@"![shareAPI share]");
onFail(nil);
}else{
NSLog(@"Share succeeded");
onFinish();
}
分享操作似乎成功了。使用此结果字典调用委托方法 -(void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results:
{
completionGesture = post;
postId = 1608774589402167;
}
但是帖子没有出现在测试用户的新闻提要中。此外,在https://developers.facebook.com 应用程序仪表板的open graph -> action types 部分,我看到以下错误消息:
Your Open Graph action failed to publish on any of the Platforms you submitted. Make sure the action is working properly by publishing the action with a test user before resubmitting.
已使用适用于 iOS 的 Facebook 2.x SDK 成功共享此图形操作。
失败点可能是什么?
【问题讨论】:
-
检查测试用户的活动日志,看看帖子是否显示在那里。
-
帖子显示在活动日志中,但不在时间线中 - 知道为什么吗?
-
Facebook iOS SDK 现在是第 4 版。我建议先升级到那个版本。其次,检查更新的文档(在动作上设置图像,而不是对象可能会改变)。此外,不保证会在人的时间线上发布,但如果成功,肯定会显示在活动日志中。
-
@sak 如果您不介意查看我最近提出的问题,我在对这些帖子使用保留的“保存”操作时遇到问题。
标签: ios facebook facebook-graph-api facebook-opengraph facebook-ios-sdk