考虑到最近Facebook的"鼓励“迁移到一个单独的信使应用程序,并且作为{非常信息丰富的!} 对Facebook应用程序支持的URL/URI方案问题的回答的后续,我一直在想关于Facebook信使应用自定义协议的信息是否是可用的。
我正在寻找的功能是能够点击一个按钮,可以打开一个FB信使聊天窗口的用户,其数字Facebook ID是已知的。如果设备上没有安装Facebook应用程序(卡塔纳),也需要这样做(即只有信使虎鲸)。
我找到了一个所需的示例 ( 深联,fb-messenger://user-thread/{user-id}),但这似乎行不通。我意识到FB每隔一段时间就会有修改URI的倾向,因为通常不应该向公众开放这些URI(据我所知)。
发布于 2014-08-24 00:06:35
在搜索这些信息失败后,我决定列出我自己的列表。下面是我到目前为止收集到的信息,以及一些解释:
这些资料摘自141.0.0.25.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以下是293.0.0.13.232版本(2020年12月8日)中的一些新增内容:
fb-messenger://carrier_messaging/
fb-messenger://carrier_messaging//%s
fb-messenger://carrier_messaging_group/
fb-messenger://carrier_messaging_group//%s
fb-messenger://dialtone/switch_to_dialtone
fb-messenger://instant_games/play?game_id=
fb-messenger://m.me/
fb-messenger://payments/checkout/?product_type=pages_commerce&product_id=
fb-messenger://payments/paypal_close/
fb-messenger://payments/settings
fb-messenger://paypal_connect_fail/
fb-messenger://paypal_connect_success/
fb-messenger://settings/datasetting
fb-messenger-sametask://instant_games_contact_pick
fb-messenger-sametask://montage_mediapicker
fb-messenger-sametask://share
fb-messenger-sametask://threadsettings
fb-messenger-secure://accounts
fb-messenger-secure://accounts/triggersso
fb-messenger-secure://join_request
fb-messenger-secure://messagerequests
fb-messenger-secure://messagesearch
fb-messenger-secure://notification_to_account_switch
fb-messenger-secure://page_notification_direct_reply
fb-messenger-secure://page_rtc_notification_to_account_switch
fb-messenger-secure://rtccall/audio/%s
fb-messenger-secure://speakeasy_invite_list下面是一些URI方案,它们在这个应用程序中的用途我不知道:
fb:// --参见此方案的可能URI 这里。dialtone://fbinternal://fb-messenger-aol://fb-messenger-assistant://fb-messenger-lite://fb-messenger-lite-secure://fb-messenger-public://fb-messenger-secure://fb-work://对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" 或 "message"。Extra的"trigger"。共享的###Extra字段Intent (tag : type):###
android.intent.extra.TEXT:Stringattachment:Parcelablemessage:Parcelablepage_name:Stringpage_post_id:Stringpage_target:Longsend_as_message_entry_point:Stringshare_attachment_url:Stringshare_caption:Stringshare_description:Stringshare_fbid:Stringshare_link_url:Stringshare_media_url:Stringshare_return_to_fb4a:布尔型share_robotext:Stringshare_story_url:Stringshare_title:StringShareType:Stringtarget_recipients:StringArraytitle:Stringtrigger:String所需的功能可以通过使用fb-messenger://user/{user-id}而不是fb-messenger://user-thread/{user-id}来实现。
Note表示,{user-id}是用户的全局数字ID (例如4),它可以通过解析对应于用户用户名的html文档(例如https://www.facebook.com/zuck)并提取在其中找到的"entity_id"来获得(截至2015年11月)。
根据我最近的测试,通常是开发人员可用的ID的应用范围内的用户ID不适用于此!
下面是一个python3脚本,它提取已知用户名的全局ID (信用:保罗·施赖伯):
#!/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()))或者,可以使用本站来实现相同的目标。
还请注意,此方法是未获官方支持,甚至可能是让你的应用程序被FB禁止。
发布于 2018-05-28 02:34:09
对于安卓上的当前版本,Facebook会自动要求用户打开应用程序,或者在使用www.messenger.com域时用chrome打开,最好是将用户重定向到这个url,让facebook处理它。
https://www.messenger.com/t/{用户名或页名-此处}
Intent intent;
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.messenger.com/t/{username-or-page-name-here}"));
startActivity(intent);发布于 2016-09-21 15:04:14
这只是共享一个链接。
<a href="fb-messenger://share?link=encodedLink"></a>https://stackoverflow.com/questions/25467445
复制相似问题