使用 facebook open graph stories v4 将图片附加到操作中
Posted
技术标签:
【中文标题】使用 facebook open graph stories v4 将图片附加到操作中【英文标题】:Attach picture to action using facebook open graph stories v4 【发布时间】:2015-06-25 03:51:44 【问题描述】:我正在使用 facebook SDK 4. 和 open graph stories api。当没有用户创建的图像时,我可以创建一个动作并共享它,但是在添加图像时,我不知道如何将 SharePhotoContent 链接到创建的动作。
我的代码是:
ShareOpenGraphAction.Builder actionBuilder = new ShareOpenGraphAction.Builder();
actionBuilder.setActionType("fbclimbmystats:on_sight"); //name space needed
actionBuilder.putObject("route", fbRoute);
ShareOpenGraphAction action = actionBuilder.build();
//Create a Bitmap image to add
Bitmap bitmap = null;
if (photoPath != null)
bitmap = BitmapFactory.decodeFile(photoPath);
SharePhoto photo = null;
if (bitmap != null)
photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.setUserGenerated(true)
.build();
ShareContent content;
if (photo!=null)
content = new SharePhotoContent.Builder()
.addPhoto(photo)
.build();
else
ShareOpenGraphContent.Builder contentBuilder = new ShareOpenGraphContent.Builder();
contentBuilder.setPreviewPropertyName("route"); // No namespace here
contentBuilder.setAction(action);
content = contentBuilder.build();
所以如果用户拍了照片,我想在故事中分享它。为此,我创建了一个 SharePhotoContent。但是它没有链接到动作,显示的对话框基本上只是分享照片,这不是重点。
来自 facebook 的文档指出:
要将一本书的图片附加到 books.reads 操作,应用应将图像作为位图加载,并在打开时将其传递给“共享”对话框。
共享对话框显示故事的预览,并使用上面在故事预览中传递的位图,而不是使用对象的图像。
那么我错过了什么?我应该首先使用 ShareOpenGraphContent 启动对话,然后传递 SharePhotoContent 吗?如果是怎么办?
还有关于使用开放图分享用户生成的照片,我需要审查故事吗?
谢谢
【问题讨论】:
【参考方案1】:文档似乎不正确。这是将图像附加到 OG 共享对话框调用的示例。
private void invokeOGShareDialog(Bitmap bitmap)
// Create OG object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "books.book")
.putString("og:title", "A Game of Thrones")
.putString("og:description", "In the frozen wastes to the north of Winterfell, " +
"sinister and supernatural forces are mustering.")
.putString("books:isbn", "0-553-57340-3")
.build();
SharePhoto photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.setUserGenerated(true)
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("books.reads")
.putObject("book", object)
.putPhoto("image", photo)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("book")
.setAction(action)
.build();
ShareDialog.show(this, content);
【讨论】:
好的,它确实有效,但现在图像不会显示为用户生成的。它显示为图表故事旁边的小图片。知道为什么会这样吗?以上是关于使用 facebook open graph stories v4 将图片附加到操作中的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Chat Open Graph 图像代码解析