在Android上的移动网站(非应用程序)上分享WhatsApp上的链接

Yoc*_*hai 193 mobile android share web whatsapp

我开发了一个主要用于手机的网站.
我想允许用户直接从网页共享信息到WhatsApp.

使用UserAgent检测我可以区分Android和iOS.
我能够发现,为了在iOS中实现上述功能,我可以使用以下URL:

href="whatsapp://send?text=http://www.example.com"
Run Code Online (Sandbox Code Playgroud)

我仍在寻找在操作系统是Android时使用的解决方案(因为上面的方法不起作用).
我想这是某种联系在Android中使用"意图",但我无法弄清楚如何做到这一点作为参数HREF.

Man*_*uel 299

刚看到它在一个网站上,似乎现在也在使用最新的Chrome和whatsapp的最新Android上工作!给链接一个新的镜头!

<a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a>
Run Code Online (Sandbox Code Playgroud)

今天重新检查它(2015年4月17 ):
适用于iOS 8(iPhone 6,最新版本)Android 5(Nexus 5,最新版本).

它也适用于Windows Phone.

  • @Manuel什么是data-action ="share/whatsapp/share"? (4认同)
  • 数据应采用url编码形式.否则,它将在whatsapp iphone中发送空白消息. (4认同)

ad0*_*d08 91

上面的答案有点过时了.虽然这些方法有效,但通过使用以下方法,您可以将任何文本共享到预定义的数字.以下方法适用于android,WhatsApp web,IOS等.

你只需要使用这种格式:

<a href="https://api.whatsapp.com/send?phone=whatsappphonenumber&text=urlencodedtext"></a>
Run Code Online (Sandbox Code Playgroud)

更新 - 从现在开始使用(2018年11月)

<a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext"></a>
Run Code Online (Sandbox Code Playgroud)

使用:https://wa.me/15551234567

不要使用:https://wa.me/+001-(555)1234567

要使用预先填充的消息创建自己的链接,该消息将自动显示在聊天的文本字段中,请使用 https://wa.me/whatsappphonenumber/?text=urlencodedtext其中whatsappphonenumber是国际格式和URL的完整电话号码-encodedtext是URL编码的预填充消息.

示例:https://wa.me/15551234567?text =我%20感兴趣%20in%20your%20car%20for%20sale

要使用预填充消息创建链接,请使用 https://wa.me/?text=urlencodedtext

示例:https://wa.me/?text =我%20inquiring%20about%20the%20apartment%20listing

点击该链接后,您将看到一个可以发送邮件的联系人列表.

有关更多信息,请参阅https://www.whatsapp.com/faq/en/general/26000030

  • 如果没有电话号码,wa.me链接无法在手机上正常工作。即使官方文档指出您可以使用它,也只会出现错误。使用WhatsApp网络,它确实可以在桌面上运行。api.whatsapp.com均可在两者上可靠运行。 (5认同)
  • 我在所有设备上测试了这一点。它所做的只是打开 Whatsapp 应用程序。之后什么也没有发生。测试了多种设备(iOS、Android、Windows)。 (2认同)

jua*_*alf 40

目前,实现这一目标非常容易.您只需要将以下代码添加到您的页面:

<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>
Run Code Online (Sandbox Code Playgroud)

就是这样.不需要Javascript,不需要其他任何东西.当然你可以根据需要设计它,并包含一个漂亮的Whatsapp图标.

我在Android设备上使用Google Chrome进行了测试.版本:

  • Android 4.1.2(Jelly Bean)
  • Chrome Mobile 37.0.2062.117.还在Firefox Mobile 31.0上测试过.
  • Whatsapp V 2.11.399

它也适用于iOS.我已经使用Safari对iPhone 5进行了快速测试,它的效果也很好.

希望这有助于某人.:-)

  • 要编码您的内容以共享使用`encodeURIComponent()` (2认同)
  • @juangalf 如果我想使用此方法共享图像怎么办?这也可能吗,还是只支持文本? (2认同)

Hol*_*ger 21

官方文档说使用:wa.me. 不要使用wa.me. 对于这些结果的长度,我深表歉意,但这是一个快速发展的问题......

2020 年 4 月结果

分享链接

这个链接不正确。关闭此窗口并尝试不同的链接。

2020 年 5 月结果

分享链接 GitHub 票证:没有电话号码的 WhatsApp 短链接不再有效

我们找不到您要找的页面

看起来您正在寻找一个不存在的页面。或者我们可能刚刚删除的页面。无论哪种方式,请返回或确保检查网址、拼写并重试。

2020 年 8 月结果

分享链接

按预期工作!

最新 - 2020 年 10 月结果

分享链接

(再次损坏!) og:image使用wa.me.

根据我看到的一些评论,这似乎仍然是一个间歇性问题,因此,我建议您继续使用api.whatsapp.comURL!

如果要共享,则必须绝对使用以下两种 URL 格式之一:

https://api.whatsapp.com/send?text=YourShareTextHere
https://api.whatsapp.com/send?text=YourShareTextHere&phone=123
Run Code Online (Sandbox Code Playgroud)

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

社交分享 URL


Vin*_*aux 21

根据新文档,链接现在是:

<a href="https://wa.me/?text=urlencodedtext">Share this</a>
Run Code Online (Sandbox Code Playgroud)

  • 因此,没有电话号码也是可能的。可以在以下位置找到此文档:https://faq.whatsapp.com/en/general/26000030 (2认同)
  • 我刚刚发现它不再正常工作了。它仅适用于电话号码。如果没有电话号码,您需要使用 api.whatsapp.com (2认同)

Aad*_*ani 14

最近WhatsApp在其官方网站上更新了我们需要使用此HTML标记,以使其可以共享到移动网站:

<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>
Run Code Online (Sandbox Code Playgroud)

您可以替换text=以获取链接或任何文本内容


oli*_*rna 7

我担心WhatsApp for Android目前不支持从网络浏览器调用.

我对我当前的项目有同样的要求,由于我找不到任何正确的信息,我最终下载了APK文件.

在Android中,如果想要从Web浏览器调用应用程序,则需要使用android.intent.category.BROWSABLE类别定义Activity.

您可以在此处找到有关此内容的更多信息:https://developers.google.com/chrome/mobile/docs/intents

如果您查看WhatsApp AndroidManifest.xml文件,那么唯一一个类别为BROWSABLE的Activiy就是这个:

<activity android:name="com.whatsapp.Conversation"   android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

我已经玩了一段时间了,我无法让它发挥作用.我得到的最多的是从Chrome打开WhatsApp应用程序,但我找不到设置邮件内容和收件人的方法.

由于WhatsApp团队没有记录,我认为这仍在进行中.看起来在未来,WhatsApp也会处理短信.

获取更多信息的唯一方法是到达WhatsApp开发团队,我尝试过,但我还在等待回应.

问候!


小智 7

刚刚测试了whatsapp://我的超级老方案Android 2.3.3Whats App 2.11.301,就像一个魅力.它似乎只是Whats App版本.由于Whats App强制每个人都要更新,因此使用它应该是安全的.

Whats App文件还提到,方案:http://www.whatsapp.com/faq/en/android/28000012

我现在在生产网站上使用它,如果我收到任何用户投诉,将在此处更新.

编辑(11月14日):几周后没有用户投诉.


Wei*_*nde 7

一般来说,仅使用java脚本在iOS或Android设备上显示Whatsapp链接才有意义:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }
Run Code Online (Sandbox Code Playgroud)


Shr*_*hri 7

最新更新

现在,您可以使用whatsapp中的最新API,https://wa.me/而不必担心用户代理,该API将执行用户代理处理。

在相应的whatsapp客户端(Android / iOS / Webapp)中,使用联系人选择选项共享预填充文本:

https://wa.me/?text=urlencodedtext
Run Code Online (Sandbox Code Playgroud)

在相应的whatsapp客户端(Android / iOS / Webapp)中为特定的whatsapp用户打开“聊天对话框”:

https://wa.me/whatsappphonenumber
Run Code Online (Sandbox Code Playgroud)

与特定用户共享预填充文本(在两个上方组合):

https://wa.me/whatsappphonenumber/?text=urlencodedtext
Run Code Online (Sandbox Code Playgroud)

注意whatsappphonenumber应为国际格式的完整电话号码。以国际格式添加电话号码时,请省略任何零,方括号或破折号。

有关官方文档,请访问https://faq.whatsapp.com/en/general/26000030


Sit*_*ram 5

根据桌面或移动平台切换 Whatsapp 共享链接。

无论是否在链接中提供电话号码,此操作均有效。

对于移动设备

   vm.LinkTextToShare = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");
Run Code Online (Sandbox Code Playgroud)

对于桌面

   vm.LinkTextToShare = 'https://web.whatsapp.com/send?l=en&text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");
Run Code Online (Sandbox Code Playgroud)


Rac*_*ngi 5

这段代码对我有用。

单击链接后,它会要求您选择要共享消息的联系人。

<a href="https://api.whatsapp.com/send?text=enter message here">Click here to share on Whatsapp</a>
Run Code Online (Sandbox Code Playgroud)

您可以添加 target="_blank" 属性以在新窗口或选项卡中打开它。

我认为当有人想要分享特定消息或文章时不需要电话号码。