我有一个用于拍照的iPhone应用程序。我刚刚完成了为这个应用添加Facebook共享功能。
我在这里浏览了整个页面:https://developers.facebook.com/docs/ios/open-graph
我按照所有说明操作,将代码复制并粘贴到xcode中。我唯一没做过的就是页面底部的一个名为“深层链接”的部分,但现在这并不重要。
完成所有这些后,我的应用程序可以成功地将图像分享到Facebook。但是,它并没有按我需要的方式共享。
当我进入我的脸书页面查看分享时,你甚至都不知道它在那里。我必须滚动几乎一半的页面,然后它在左下角。
以下是在台式计算机上查看共享位于我的脸书页面上的屏幕截图:
以下是使用Facebook App for iPhone时的分享情况(我涂黑了我的名字):
这些看起来都很糟糕。以下是我想要完成的两个例子。
以下是当我将这张照片分享到我的页面并在桌面计算机上查看时,此应用中名为“Frontback”的照片的样子:
iPhone的Facebook应用程序看起来也一样。
我能说的唯一区别是我的共享网址中有“/ activity /”,其中Frontback应用程序共享的Facebook URL中有“photo.php”。
我无法弄清楚如何让我的应用程序的共享看起来像Frontback应用程序中的共享。
非常感谢任何帮助。谢谢。
答案 0 :(得分:1)
您创建的帖子对我来说似乎很有意义。开放式图形馈送总是美观且比正常馈送更有意义。
您看到的Frontback帖子是简单photo上传,这不是Feed。我的意思是这一切都取决于您的要求,您的应用程序究竟想要做什么。
如果您只是希望通过应用程序(如Frontback)显示一些照片,则可以使用API \POST /photos
来避免打开图表并发布照片。
但是如果你想提供一个可以将用户重定向到应用程序的链接,你应该立即使用你正在使用的内容。
另一件事,当你说 -
当我进入我的脸书页面查看分享时,你甚至都不知道它在那里。我必须在页面的一半左右滚动,然后它在左下角。
这就是开放图形的美妙之处,它可以在您的时间轴中支持应用程序的所有活动,而不会不必要地进行状态更新并充斥您的时间线。这些故事出现在您/您的朋友墙和自动收报机的顶部。您还可以通过点击activity log -
的故事中的时间来查看实际故事(活动日志)
(实际故事)
答案 1 :(得分:0)
- (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
这样的大图片,可以上传包含某些消息的图片