![](/img/trans.png)
[英]IOS 9 Swift - Parse Facebook login does not open native Facebook App
[英]iOS - Facebook open graph sharing via app is successful, but does not look the way I want it to on Facebook
我有一个用于拍照的iPhone应用程序。 我刚刚将Facebook共享功能添加到此应用程序中。
我在这里浏览了整个页面: https : //developers.facebook.com/docs/ios/open-graph
我按照所有说明进行操作,然后将代码复制并粘贴到xcode中。 我唯一没有做的就是页面最底部的“深度链接”部分,但是现在这并不重要。
完成所有这些操作后,我的应用程序可以成功地将图像共享到Facebook。 但是,它并没有按照我需要的方式共享。
当我转到Facebook页面查看共享时,您甚至都不会知道它的存在。 我必须将页面向下滚动几乎一半,然后才在左下角。
这是一个截图,显示了在台式机上查看时共享在我的Facebook页面上的位置:
这是在iPhone上使用Facebook App时共享的外观(我涂黑了我的名字):
这些看起来都很糟糕。 这是我要完成的2个示例。
当我将其共享到页面并在台式机上查看时,来自此应用程序的名为“ Frontback”的照片如下所示:
而且在iPhone的Facebook App上看起来也一样。
我可以说的唯一区别是,我的共享的URL中带有“ / activity /”,而Frontback应用程序共享的Facebook URL中具有“ photo.php”。
我不知道如何获取应用程序的共享,使其看起来像来自Frontback应用程序的共享。
非常感谢您的任何帮助。
您创建的帖子对我来说很有意义。 开放式供稿总是比普通供稿更漂亮,更有意义。
您看到的Frontback帖子是简单的照片上传,而不是供稿。 我的意思是,这完全取决于您的要求,以及您的应用程序真正想要做什么。
如果只想通过诸如Frontback之类的应用程序显示一些照片,则可以避免使用API \\POST /photos
打开图形并发布\\POST /photos
。
但是,如果您想提供一个可以将用户重定向到应用程序的链接,则应使用当前使用的内容。
另一件事,当你说-
当我转到Facebook页面查看共享时,您甚至都不会知道它的存在。 我必须将页面向下滚动几乎一半,然后才在左下角。
这就是开放式图表的优点,它可以将应用程序在时间轴上的所有活动结合在一起,而不必不必要地进行状态更新和充斥您的时间轴。 故事会显示在您/您的朋友墙和置顶栏中的顶部。 您还可以通过点击活动日志故事中的时间来查看实际故事-
(活动日志)
(真实故事)
- (void)requestPermissionAndPost {
[FBSession.activeSession requestNewPublishPermissions:[NSArray arrayWithObjects:@"publish_actions", @"publish_checkins",nil]
defaultAudience:FBSessionDefaultAudienceEveryone
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
// Now have the permission
[self postOpenGraphAction];
} else {
// Facebook SDK * error handling *
// if the operation is not user cancelled
if (error.fberrorCategory != FBErrorCategoryUserCancelled) {
[self presentAlertForError:error];
}
}
}];
}
- (void)postOpenGraphAction
{
FBRequestConnection *newConnection = [[FBRequestConnection alloc] init];
FBRequestHandler handler =
^(FBRequestConnection *connection, id result, NSError *error) {
// output the results of the request
[self requestCompleted:connection forFbID:@"me" result:result error:error];
};
UIImage *img = imageView.image;
NSString *message = [NSString stringWithFormat:@"%@ %@ #DealsHype",msg.text,hashtagFromStore];
FBRequest *request=[[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:@"me/photos" parameters:[NSDictionary dictionaryWithObjectsAndKeys:UIImageJPEGRepresentation(img, 0.7),@"source",message,@"message",@"{'value':'EVERYONE'}",@"privacy", nil] HTTPMethod:@"POST"];
[newConnection addRequest:request completionHandler:handler];
[self.requestConnection cancel];
self.requestConnection = newConnection;
[newConnection start];
}
如果您想上传像Frontback这样的大图片,这是上传带有一些消息的图片的好方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.