Ответ 1
После неудачного поиска этой информации я решил составить собственный список. Ниже приведено то, что мне удалось собрать, а также несколько объяснений:
Это обновление для версии 141.0.0.25.76 (21 октября 2017 г.).
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
Вот некоторые схемы 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"
ИЛИ"message"
. - Имеет
Extra
с тегом"trigger"
.
Extra
поля общего ресурса Intent
(тег: тип):
android.intent.extra.TEXT
: Строкаattachment
: подлежит продажеmessage
: подлежит продажеpage_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}
- это глобальный числовой идентификатор пользователя (например, для Zuck it 4
), который можно получить (по состоянию на ноябрь 2015 г.) путем анализа HTML-документ, который соответствует имени пользователя (например, для Zuck it https://www.facebook.com/zuck
) и извлечению "entity_id"
, найденного внутри.
Согласно моему последнему тесту, идентификаторы пользователей приложения, которые обычно представляют собой идентификаторы, доступные разработчикам, не работают для этого!
Ниже приведен скрипт на python3, который извлекает глобальный идентификатор для известного имени пользователя (кредит: Пол Шрайбер):
#!/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.