gpt4 book ai didi

android facebook sdk 4.2 open graph 故事和 map

转载 作者:太空狗 更新时间:2023-10-29 14:08:50 25 4
gpt4 key购买 nike

我正在尝试使用 facebook android sdk 版本 4.2 分享健身类(class)的开放图故事和位置,

我想要这样的东西:

https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xaf1/t39.2178-6/851557_504281972964839_1538874606_n.png

但是 map 没有显示

基本上我的代码是这样的:

    ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "fitness.course")
.putString("og:title", "Sample Course")
.putString("og:description", "This is a sample course.")
.putInt("fitness:duration:value", 100)
.putString("fitness:duration:units", "s")
.putInt("fitness:distance:value", 12)
.putString("fitness:distance:units", "km")
.putInt("fitness:speed:value", 5)
.putString("fitness:speed:units", "m/s");

ArrayList<ShareOpenGraphObject> metrics = new ArrayList<ShareOpenGraphObject>();
ShareOpenGraphObject.Builder metric1 = new ShareOpenGraphObject.Builder();
String timestamp1 = dateFormat.format(new Date(realDateTime1));
metric1.putDouble("fitness:metrics:location:latitude", latitude1);
metric1.putDouble("fitness:metrics:location:longitude",longitude1);
metric1.putString("fitness:metrics:timestamp",timestamp1);
metrics.add(metric1.build());
ShareOpenGraphObject.Builder metric2 = new ShareOpenGraphObject.Builder();
String timestamp2 = dateFormat.format(new Date(realDateTime2));
metric2.putDouble("fitness:metrics:location:latitude", latitude2);
metric2.putDouble("fitness:metrics:location:longitude",longitude2);
metric2.putString("fitness:metrics:timestamp",timestamp2);
metrics.add(metric2.build());

.....

object.putObjectArrayList("fitness:metrics", metrics);

ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("fitness.runs")
.putObject("fitness:course", object.build())
.putString("fitness:start_time", startTime)
.putString("fitness:end_time", endTime)
.build();

ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("fitness:course")
.setAction(action)
.build();

我尝试了几次但都没有成功,例如,如果我不使用上面显示的指标数组,而是将 fitness:metrics:location:* 直接放在原始对象构建器上, map 将显示为一个位置。提示?

最佳答案

我有一个类似的问题,在我的例子中,我有一个托管健身类(class)的网络后端,我通过在 ShareOpenGrapAction 中设置健身类(class)的 url 解决了这个问题。

在网络后端中,健身类(class)是使用此处所述的引用创建的:https://developers.facebook.com/docs/opengraph/guides/fitness

在应用程序中

ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("fitness.runs")
.putString("fitness:course", url)
.build();

ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("fitness:course")
.setAction(action)
.build();

比起表演

if (shareDialog.canShow(ShareOpenGraphContent.class)) {
shareDialog.show(content);
}

希望这对您有所帮助!

关于android facebook sdk 4.2 open graph 故事和 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com