Dev*_*-iL 22 android uri deep-linking facebook-messenger
鉴于Facebook 最近" 鼓励 "迁移到单独的Messenger应用程序,并作为Facebook应用程序支持的URL/URI方案问题的{非常丰富的!} 答案的后续,我一直想知道是否有关于Facebook的Messenger应用自定义协议的fb-messenger://可用.
我正在寻找的功能是能够点击一个按钮,该按钮可以与已知数字Facebook ID的用户打开FB-messenger聊天窗口.如果Facebook应用程序(katana)未安装在设备上(即只有信使,orca),这也需要工作.
我找到了所需深度链接()的示例,但这似乎不起作用.我意识到FB有一种偶尔修改URI的倾向,因为这些通常不应该对公众开放(据我所知).fb-messenger://user-thread/{user-id}
Dev*_*-iL 61
在搜索到这些信息失败后,我决定列出我自己的信息.以下是我到目前为止收集的内容,以及一些解释:
这是针对版本141.0.25.7.76 (2017年10月21日)更新的.
fb-messenger://accounts
fb-messenger://active_now
fb-messenger://addcard
fb-messenger://addmembers
fb-messenger://android_date_time
fb-messenger://android_storage
fb-messenger://autocompose
fb-messenger://autocompose_payment
fb-messenger://bots/get_started/?page_id=%s&cta_id=%s
fb-messenger://business
fb-messenger://business/
fb-messenger://business_extensions
fb-messenger://buy/mc?item_id={#%s}
fb-messenger://callsearch
fb-messenger://commerce/
fb-messenger://compose
fb-messenger://contactmigration
fb-messenger://contacts
fb-messenger://contacts/add_contacts
fb-messenger://contactuploadoptin
fb-messenger://direct_share
fb-messenger://drawoverotherapps
fb-messenger://games
fb-messenger://groupcompose
fb-messenger://groupstab
fb-messenger://groupthreadfbid/
fb-messenger://groupthreadfbid/%s
fb-messenger://ig_contact_import
fb-messenger://installupdate
fb-messenger://instant_article/?article_id=
fb-messenger://instant_article/?article_id=%s
fb-messenger://invite
fb-messenger://join_request
fb-messenger://mai
fb-messenger://messagerequests
fb-messenger://messagesearch
fb-messenger://montage
fb-messenger://montage_composer
fb-messenger://montage_mediapicker
fb-messenger://montageaudiencepicker
fb-messenger://montagecomposer
fb-messenger://networkempathy
fb-messenger://new
fb-messenger://newuser/
fb-messenger://newuser/signup?provider_name=%s&provider_page_fbid=%s
fb-messenger://nfc
fb-messenger://omni_m
fb-messenger://opengrouppreview
fb-messenger://opengrouppreview?group_preview_hash=
fb-messenger://optimistic
fb-messenger://optimistic/%s
fb-messenger://payments
fb-messenger://payments/
fb-messenger://platform
fb-messenger://platform/cta/postback/?cta_id=%s
fb-messenger://platform/share/?cta_id=%s
fb-messenger://ride_map/{%s}
fb-messenger://roomcompose
fb-messenger://rtccall
fb-messenger://sampleflows
fb-messenger://settings
fb-messenger://settings/datasaver
fb-messenger://settings/messengeronlybackup
fb-messenger://settings/montage
fb-messenger://settings/notifications
fb-messenger://settings/people
fb-messenger://settings/phoneevents
fb-messenger://settings/profilepicture
fb-messenger://settings/tincan
fb-messenger://share < Used for sharing multimedia, contains
several extras. See more info below.
fb-messenger://sms
fb-messenger://sms/
fb-messenger://sms/%s
fb-messenger://sms-bridge
fb-messenger://sms-takeover
fb-messenger://sms-takeover/nux?context=%s
fb-messenger://sms-takeover/nux?context=%s&thread_id=%s
fb-messenger://sms-takeover/sms_anonymous_chat_head
fb-messenger://stickerstore
fb-messenger://thread/ < Deprecated
fb-messenger://threadkeystring
fb-messenger://threads
fb-messenger://threadsettings
fb-messenger://user
fb-messenger://user/
fb-messenger://user/%s < Opens chathead/conversation with user %s, where
%s is the numeric fb user id. Using a username
string here crashes the orca app.
fb-messenger://user/%s?ref=%s&ref_source=%s
fb-messenger://verifyphonenux
fb-messenger://voip
fb-messenger://wave
Run Code Online (Sandbox Code Playgroud)
以下是一些URI方案,其目的在此应用程序中我不知道:
fb://- 在这里查看此方案的可能URI .fb-work://fbinternal://fb-messenger-secure://dialtone://调查fb-messenger://share(从这篇文章的旧版本 - 可能无效):
StringExtra叫ShareType,可以是:ShareType.invite,ShareType.forward,ShareType.regular.StringExtra调用ShareType.invitedUser.StringExtra调用ShareType.invitedUserDisplayName.StringExtra调用ShareType.inviteEntryPoint.StringExtra调用ShareType.invitesSentBroadcastAction.在以下情况下ShareType.forward:
Extra标签"attachment" OR "message".Extra标签"trigger".Extra共享字段Intent(标记:类型):android.intent.extra.TEXT:字符串 attachment:Parcelable message:Parcelablepage_name:字符串page_post_id:字符串page_target:很久send_as_message_entry_point:字符串share_attachment_url:字符串share_caption:字符串share_description:字符串share_fbid:字符串share_link_url:字符串share_media_url:字符串share_return_to_fb4a:布尔值 share_robotext:字符串share_story_url:字符串share_title:字符串ShareType:字符串target_recipients:StringArraytitle:字符串trigger:字符串可以通过使用fb-messenger://user/{user-id}而不是来实现所需的功能fb-messenger://user-thread/{user-id}.
需要注意的是{user-id}在用户的全球数字ID(如对于扎克它的4),能够获得(如2015年11月的)通过解析对应于人的用户名(例如HTML文档的扎克伯格是https://www.facebook.com/zuck),并提取"entity_id"被发现内.
根据我的最新测试,应用程序范围的用户ID(通常是开发人员可用的ID)不适用于此!
下面是一个python3脚本,它提取已知用户名的全局ID(信用:Paul Schreiber):
#!/usr/bin/python
import requests
import re
url = 'https://www.facebook.com/zuck'
idre = re.compile('"entity_id":"([0-9]+)"')
page = requests.get(url)
print(idre.findall(page.content.decode()))
Run Code Online (Sandbox Code Playgroud)
或者,该站点可用于实现相同的目的.
另请注意,此方法不受官方支持,甚至可能会被FB禁止您的应用.
使用当前版本的Android上的Facebook,当您使用其域www.messenger.com时,它会自动要求用户打开应用程序或以chrome打开最好将用户重定向到此URL,并由Facebook处理
https://www.messenger.com/t/ {username-or-page-name-here}
Intent intent;
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.messenger.com/t/{username-or-page-name-here}"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25362 次 |
| 最近记录: |