其他分享
首页 > 其他分享> > 从Android发送时,仅向“开发人员”用户显示Facebook OpenGraph故事

从Android发送时,仅向“开发人员”用户显示Facebook OpenGraph故事

作者:互联网

我们正在创建一个iOS / Android应用程序,用户可以在其中使用Facebook“献身”一首歌曲.为此,我们创建了一个OpenGraph故事,以开发人员身份进行了所有测试,并通过为他们提供iOS和Android测试应用程序将该故事提交给Facebook,并在进行了几次评论之后接受了该故事.

为确保一切正常,我打开了Android应用,并尝试通过非开发者帐户(帐户A)发布故事.但是,用户的时间轴和活动日志中均未显示任何内容.
现在,我使用“开发者”帐户(帐户B)重新登录并打开A的个人资料.故事在A的时间表中正确显示.

感到困惑的是,我用基本帐户A重新登录.我发布了另一个故事,其中我标记了另一个非开发人员帐户C.
我重新登录了C帐户.有人通知某人在出版物中标记了我.我单击了通知,这打开了一个错误页面:
“ Ce竞争行为是不负责任的
按需添加页面.最好不要在临时存储盒中使用临时存储页面,而在临时存储中再加上合法的使用权,再加上无效的存储页面.”
这表示“该内容目前不可用.无法显示所请求的页面.它可能暂时不可用,链接无效或您对该页面没有访问权限”

但是,在C的时间轴上,该故事已发布,而在A的时间轴上,该故事仍然不可见,无论我们是以A还是C登录.

我认为这是Facebook故事发布尚未真正完成或类似问题.但是今天我了解到,在iOS应用上,这个故事确实向所有人正确显示了.

有没有人遇到过这种奇怪的行为?我应该在哪里纠正呢?

有关信息,这是我用来发布故事的代码:

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setProperty("song", pendingDedicatedTrackUrl);
action.setType("hitster_music:dedicate");
action.setMessage(pendingDedicateMsg);
action.setProperty("message", pendingDedicateMsg);

FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(activity, action, "song")
                .setApplicationName("HITSTER MUSIC")
                .build();
uiHelper.trackPendingDialogCall(shareDialog.present());

我也尝试了是否调用OpenGraphActionDialogBu​​ilder.setApplicationName,没有区别.

解决方法:

对于任何对答案感兴趣的人:我想可能有几种原因,就我们而言,这是网页中的问题.在请求故事复审之前,我们使用“测试应用程序”(访问受限的虚假应用程序)进行了几次测试,但是网页的负责人忘记了故事被接受后忘记更新元数据中的应用程序ID.因此,当未注册为测试应用程序开发人员的用户尝试查看引用此页面的出版物时,FB感到困惑.
在页面元数据中设置了正确的应用程序ID之后,一切正常.
为什么FB首先允许发布动作,这我不知道;)

标签:facebook,opengraph,android
来源: https://codeday.me/bug/20191121/2051462.html