【问题标题】:Share a link via URL scheme to Telegram通过 URL 方案将链接分享到 Telegram
【发布时间】:2015-09-30 02:57:24
【问题描述】:

我想通过 Telegram 的 URL 方案共享一个链接。

我已经创建了这个:

tg://msg?text = www.example.com?t=12

链接打开电报,但没有其他反应。

我为 Viber 使用了相同的代码,并且它可以工作:

viber://forward?text = www.example.com?t=12

它会在 Viber 中打开一条带有此文本的新消息:

www.example.com

换句话说,它切断了我的网址。

有什么想法吗?

【问题讨论】:

    标签: html web url-scheme


    【解决方案1】:

    如果设备上未安装电报应用程序,您还可以使用 telegram.me 共享链接,该链接回退到 webogram。

    https://telegram.me/share/url?url=<URL>&text=<TEXT>

    【讨论】:

    • 我们可以打开电报开始与选定的机器人聊天(不是数字),即类似 tg://msg?text=HI there&to=@my_bot
    • @Qadir Hussain 您找到解决方案了吗?联系人添加到手机联系人中,我使用 tg://msg?text=hi&to=+91XX 然后 ios 重定向到用户聊天屏幕,我在 android 中怎么做?
    • @Maulikpatel 这应该对 android 有帮助 stackoverflow.com/questions/21627167/…
    • @QadirHussain 它会将我重定向到电报而不是特定的用户聊天屏幕。
    • @Maulikpatel 在 android 中不知道这个
    【解决方案2】:

    这对我有用:

    tg://msg?text=Mi_mensaje&to=+1555999
    

    【讨论】:

    【解决方案3】:

    您有以下 URL 选项...

    https://t.me/share/url?url={url}&text={text}
    https://telegram.me/share/url?url={url}&text={text}
    tg://msg_url?url={url}&text={text}
    

    如果你想确认,这里是官方API来源:Core.Telegram.org: Widgets -> Sharing Button

    如果您有兴趣观看跟踪这些 URL 的项目,请关注我们!:https://github.com/bradvin/social-share-urls#telegramme

    【讨论】:

      【解决方案4】:

      对于电报分享:

      目标 C:

      if([UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]){
       [UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tg://msg?text=test"]
      }else{
       //App not installed.
      }
      

      斯威夫特 3.0:

      let urlString = "tg://msg?text=test"
      let tgUrl = URL.init(string:urlString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)
      if UIApplication.shared.canOpenURL(tgUrl!)
          {
              UIApplication.shared.openURL(tgUrl!)
          }else
          {
             //App not installed.
          }
      

      如果你使用过canOpenURL,那么需要在info.plist中添加

      <key>LSApplicationQueriesSchemes</key>
      <array>
         <string>tg</string>
      </array>
      

      【讨论】:

        【解决方案5】:

        您可以使用链接telegram.me,该链接将提供一个预览页面,其中包含要求在应用程序中打开该链接的警报。

        https://telegram.me/share/url?url=<URL>&text=<TEXT>
        

        第二种选择是直接调用应用链接:

        tg://msg_url?url=<url>&text=<encoded-text>
        

        我特别喜欢第二个选项,它也适用于桌面应用程序。

        【讨论】:

          【解决方案6】:

          PHP

          <a href="tg://msg?text=<?php echo rawurlencode($gotoURL); ?>">Link</a>
          


          JavaScript

          <script>TEXT="any text or url";</script>
          
          <a onclick="window.location='tg://msg?text='+encodeURIComponent(TEXT);">Link</a>
          

          【讨论】:

            【解决方案7】:
            <a href = "https://telegram.me/share/url?url=<URL>&text=<TEXT>">Telegram</a>
            

            这样我们可以打开电报的xdg,如果我们选择联系人,默认情况下发送文本将出现在消息字段中。

            【讨论】:

              【解决方案8】:

              要检查 Telegram 是否已安装,您可以执行以下操作(借用 ShareKit 的 Whatsapp 共享器模块):

              BOOL isTelegramInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]];
              

              iOS 检查是否安装了任何可以处理 tg:// 方案的应用程序,即 Telegram。

              【讨论】:

                【解决方案9】:

                尝试使用 tg://share

                <a href="tg://share?url=www.example.com?t=12&text=Check out this url">Link</a>
                

                【讨论】:

                  【解决方案10】:

                  刚刚测试过,这种方式可以在未安装的情况下打开电报应用程序或浏览器:

                  let webURL = NSURL(string: "https://t.me/<YOUR ID>")!
                  UIApplication.shared.open(webURL as URL)
                  

                  【讨论】:

                    【解决方案11】:

                    也许您使用 localhost 因此它不显示共享。在现场主机中尝试一下

                    【讨论】:

                      【解决方案12】:

                      您有两个问题

                      1. 一方面您使用了错误的 URL 共享方案,正确的方案是 msg_url
                      2. 另一方面,您正在尝试共享带有参数的 URL。你需要编码你的 ?为了使它工作。百分比代码是 %3F
                      3. 额外提示:此外,如果您希望它成为共享后的链接,您当然应该包含 HTTPS:// 编码。

                      试试这个,你会发现它工作正常:tg://msg_url?url=https%3A%2F%2Fwww.example.com%3Ft=12

                      【讨论】:

                        猜你喜欢
                        • 2021-06-15
                        • 1970-01-01
                        • 2023-02-08
                        • 2023-03-22
                        • 2019-11-19
                        • 1970-01-01
                        • 1970-01-01
                        • 2023-03-07
                        • 1970-01-01
                        相关资源
                        最近更新 更多