gpt4 book ai didi

android - Facebook Messenger 的自定义 URI 方案

转载 作者:IT老高 更新时间:2023-10-28 23:02:11 24 4
gpt4 key购买 nike

鉴于 Facebook 最近的“encouragement”迁移到一个单独的信使应用程序,并作为{非常丰富!} answer to the question on URL/URI schemes supported by the Facebook app 的后续行动,我一直想知道是否有关 Facebook Messenger 应用程序的信息 custom protocol fb-messenger:// 可用。

我正在寻找的功能是能够单击一个按钮,该按钮将打开一个与 Facebook 数字 ID 已知的用户的 FB 信使聊天窗口。如果设备上未安装 Facebook 应用程序(katana)(即只有信使,orca),这也需要工作。

我找到了 example所需的deep linking ( fb-messenger://user-thread/{user-id} ),但这似乎不起作用。我意识到 FB 有每隔一段时间修改 URI 的趋势,因为这些通常不应该向公众提供(据我所知)。

最佳答案

在没有成功搜索此信息后,我决定制作自己的列表。以下是我到目前为止收集到的内容,以及一些解释:
这些取自版本 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 here .
  • 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 (标签:类型):###
  • 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 : bool 值
  • share_robotext : 字符串
  • share_story_url : 字符串
  • share_title : 字符串
  • ShareType : 字符串
  • target_recipients : 字符串数组
  • title : 字符串
  • trigger : 字符串

  • 使用 fb-messenger://user/{user-id} 可以实现所需的功能。而不是 fb-messenger://user-thread/{user-id} .
    备注 {user-id}是用户的 全局数字 ID (例如 for Zuck it's 4 ),可以通过解析与该人的用户名(例如 for Zuck it's https://www.facebook.com/zuck )对应的 html 文档并提取 "entity_id" 来获得(截至 2015 年 11 月)那是在里面找到的。
    根据我的最新测试, app-scoped user IDs ,通常是开发人员可用的 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()))
    或者, this site可以用来实现同样的事情。
    另请注意,此方法为 not officially supported甚至可能 get your app banned by FB .

    关于android - Facebook Messenger 的自定义 URI 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467445/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com