Android:需要通过Share Dialog从Facebook App Link主机api接收数据

时间:2014-11-14 03:49:23

标签: android facebook facebook-graph-api facebook-sdk-4.0

我正在开发一个原生的应用程序,它有一个共享RSS网址的Facebook共享功能。当使用点击帖子/故事时,我希望Facebook打开我的应用程序并传递一些数据以打开正确的视图以获得最佳用户体验。

我已阅读并创建了一个应用链接并获取了canonical_url:https://fb.me/xxx作为此处的教程https://developers.facebook.com/docs/applinks/hosting-api

我的分享对话框:

FacebookDialog dialog = new FacebookDialog.ShareDialogBuilder(activity)
                .setLink(link)
                .setName(caption)
                .setCaption(caption)
                .setDescription(description)
                .setPicture(imageUrl)
                .setApplicationName(activity.getResources().getString(R.string.app_name))
                .build();
        mUiHelper.trackPendingDialogCall(dialog.present());

如果我通过link param是网址,例如http://google.com/ ...,当我点击共享故事时,Facebook会打开浏览器加载该网址。

如果我通过link param是canonical_url:https://fb.me/xxx,Facebook会直接打开我的应用,并且从Facebook收到的数据是:

Bundle[{extras=Bundle[{fb_expires_in=86400, fb_app_id=<app id>, fb_access_token=<access token>}], target_url=https://fb.me/xxx, referer_app_link=Bundle[{package=com.facebook.katana, url=fb:///, app_name=Facebook}]}]

点击共享故事后,我该怎么做才能从Facebook上获取RSS网址?

1 个答案:

答案 0 :(得分:0)

我想通了,只是将数据放在canonical_url之后,所以当我从Facebook深层链接中获取数据时,解析网址以接收数据,例如      https://fb.me/xxx?data=xyz&foo=bar