การแชร์ลิงก์บน WhatsApp จากเว็บไซต์มือถือ (ไม่ใช่แอปพลิเคชัน) สำหรับ Android


213

ฉันได้พัฒนาเว็บไซต์ที่ใช้เป็นหลักในโทรศัพท์มือถือ
ฉันต้องการอนุญาตให้ผู้ใช้แบ่งปันข้อมูลโดยตรงจากหน้าเว็บใน WhatsApp

การใช้การตรวจจับผู้ใช้ฉันสามารถแยกแยะความแตกต่างระหว่าง Android และ iOS ได้
ฉันสามารถค้นพบว่าเพื่อที่จะใช้งานข้างต้นใน iOS ฉันสามารถใช้ URL:

href="whatsapp://send?text=http://www.example.com"

ฉันยังคงมองหาวิธีการแก้ปัญหาที่จะใช้เมื่อระบบปฏิบัติการเป็น Android (เพราะข้างต้นไม่ทำงาน)
ฉันเดาว่ามันเกี่ยวข้องกับการใช้ "เจตนา" ใน Android แต่ฉันไม่สามารถหาวิธีใช้เป็นพารามิเตอร์สำหรับ href ได้


วิธีนี้จะเชื่อมต่อกับแอป Whatsapp และมีวิธีการเชื่อมต่อกับตัวเลือกเว็บ whatsapp.com มีวิธีใดบ้างที่จะตรวจพบว่าคุณมีแอพหรือไม่เพื่อดูว่าจะเชื่อมต่อกับอะไร
SrQ

ผู้ติดต่อรายใดจะได้รับข้อความนี้
Codebeat

คำตอบ:


321

เพิ่งเห็นมันบนเว็บไซต์และดูเหมือนว่าจะใช้งานบน Android ล่าสุดที่มีโครเมียมล่าสุดและ Whatsapp ตอนนี้ด้วย! ให้ลิงค์ใหม่ shot!

<a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a>

rechecked มันในวันนี้ (17 THเมษายน 2015):
การทำงานสำหรับฉันบน iOS 8 (iPhone 6 รุ่นล่าสุด) Android: 5 (Nexus 5 รุ่นล่าสุด)

มันยังใช้งานได้บน Windows Phone


1
ดูเหมือนว่า URL ดั้งเดิมในคำถามของฉันก็สามารถใช้งานได้กับ Android
Yochai

ใครก็ตามที่ลบล้างความคิดเห็นที่เฉียบแหลมของ @ MosheL อย่างไม่ต้องสงสัยต้องมีความรู้อย่างลึกซึ้งว่า "รายการ" ของเขาคืออะไร
Dan Dascalescu

6
@Manuel data-action = "share / whatsapp / share" มีไว้เพื่ออะไร
user3362364

4
ข้อมูลควรอยู่ในรูปแบบ url ที่เข้ารหัสโดยมิฉะนั้นจะส่งข้อความว่างใน whatsapp iphone
Lijo Abraham

1
การเปลี่ยนแปลง API บางอย่างสามารถพบได้ในเอกสารล่าสุด - faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in

102

คำตอบข้างต้นเป็นบิตล้าสมัย แม้ว่าวิธีการเหล่านั้นจะทำงานได้ แต่โดยใช้วิธีด้านล่างคุณสามารถแบ่งปันข้อความใด ๆ ไปยังหมายเลขที่กำหนดไว้ล่วงหน้า วิธีการด้านล่างใช้ได้กับ Android, WhatsApp web, IOS และอื่น ๆ

คุณเพียงแค่ต้องใช้รูปแบบนี้:

<a href="https://api.whatsapp.com/send?phone=whatsappphonenumber&text=urlencodedtext"></a>

อัปเดต - ใช้สิ่งนี้จากตอนนี้ (พ.ย. 2018)

<a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext"></a>

ใช้: 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=I 'm% 20 สนใจ% 20in% 20your% 20car% 20car% 20 สำหรับยอดขาย 20%

หากต้องการสร้างลิงก์ที่มีข้อความที่กรอกไว้ล่วงหน้าให้ใช้ https://wa.me/?text=urlencodedtext

ตัวอย่าง: https://wa.me/?text=I '% 20 การบันทึก% 20 เกี่ยวกับ% 20the% 20 ช่อง% 20 การบันทึก

หลังจากคลิกที่ลิงค์คุณจะเห็นรายชื่อผู้ติดต่อที่คุณสามารถส่งข้อความถึง

สำหรับข้อมูลเพิ่มเติมดูhttps://www.whatsapp.com/faq/en/general/26000030


ฉันทดสอบสิ่งนี้ในอุปกรณ์ทั้งหมด สิ่งที่มันทำคือเปิดแอปพลิเคชัน whatsapp ไม่มีอะไรเกิดขึ้นก่อนหน้านี้ ทดสอบอุปกรณ์หลายเครื่อง (iOS, Android, Windows)
HoldOffHunger

@HoldOffHunger ใช่มันจะเปิดแอปพลิเคชัน whatsapp และผู้ใช้จะต้องเลือกผู้ติดต่อที่เขาต้องการแชร์ลิงก์ / เนื้อหา
ad08

@ ad08: นั่นคือวิธีที่ Threema และบริการอื่น ๆ อีก 40 บริการที่ฉันทดสอบทำงาน อย่างไรก็ตาม Viber และ WhatsApp ไม่ได้ทำอะไรเลยฉันติดต่อผู้พัฒนาแล้วและทั้งคู่ยอมรับว่า API ไม่ได้ทำอะไรเลย ฉันติดตามการติดต่อของพวกเขาและอีก 40 api (ที่ทำงาน) ที่นี่: github.com/bradvin/social-share-urls/blob/master/README.md
HoldOffHunger

ใช้งานได้กับ WhatsApp Desktop ภายใต้ Mojave
Alchem

6
wa.me ลิงก์ทำงานไม่ถูกต้องบนมือถือหากไม่มีหมายเลขโทรศัพท์ แม้ว่าเอกสารคู่มืออย่างเป็นทางการระบุว่าคุณสามารถใช้งานได้ แต่ก็ให้ข้อผิดพลาด มันทำงานบนเดสก์ท็อปโดยใช้เว็บ WhatsApp api.whatsapp.com ทำงานได้อย่างน่าเชื่อถือทั้งคู่
Ricardo BRGWeb

39

ในปัจจุบันมันง่ายมากที่จะบรรลุเป้าหมายนี้ คุณจะต้องเพิ่มรหัสต่อไปนี้ในหน้าของคุณ:

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

และนั่นคือมัน ไม่จำเป็นต้องมี 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 ฉันได้ทำการทดสอบอย่างรวดเร็วกับ iPhone 5 ด้วย Safari และใช้งานได้ดี

หวังว่านี่จะช่วยใครซักคน :-)


3
สำหรับการเข้ารหัสเนื้อหาของคุณเพื่อแบ่งปันการใช้งานencodeURIComponent()
nikoskip

1
เฮ้มันใช้ได้ผลกับฉัน ขอบคุณ :) แค่อยากรู้อยากเห็นถ้ามีวิธีถ้าฉันสามารถตรวจสอบว่าผู้ใช้แชร์ลิงค์จริงหรือเพียงแค่กลับมาที่เว็บไซต์?
Sayed

1
ใช้งานได้กับ Nexus 5 ของฉันกับ Android 5.0 (Lollipop) และ iPhone 5 กับ iOS 8.1.1
Narxx

2
@juangalf จะเกิดอะไรขึ้นถ้าฉันต้องการแบ่งปันรูปภาพโดยใช้วิธีการนี้ จะเป็นไปได้เช่นกันหรือรองรับเฉพาะข้อความ?
elembivos

1
@elembivos ฉันถามเหมือนกัน อย่างไรsendพารามิเตอร์จะต้องมีการจัดรูปแบบ? ปัจจุบันฉันมีwhatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...แต่ไม่แน่ใจว่าต้องใส่คำนำหน้าจำนวนเท่าใด ...
TMOTTM

27

ตามเอกสารใหม่ลิงค์อยู่ในขณะนี้:

<a href="https://wa.me/?text=urlencodedtext">Share this</a>

ถ้ามันไม่ทำงานลองอันนี้:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>

3
ดังนั้นจึงเป็นไปได้หากไม่มีหมายเลขโทรศัพท์ เอกสารนี้สามารถพบได้ที่นี่: faq.whatsapp.com/en/general/26000030
Tim Vermaelen

1
ฉันเพิ่งค้นพบว่ามันทำงานไม่ถูกต้องอีกต่อไป มันใช้งานได้กับหมายเลขโทรศัพท์ หากไม่มีหมายเลขโทรศัพท์คุณต้องใช้ api.whatsapp.com
Ricardo BRGWeb

@RicardoBRG แน่ใจแล้วใช่ไหม? ฉันเพิ่งลองบนเว็บเบราว์เซอร์ของฉันใช้งานได้โดยไม่ต้องมีหมายเลขใด ๆ ฉันใช้เว็บอินเตอร์เฟส Whatsapp และเพื่อแบ่งปันให้กับผู้ติดต่อ
Vincent Decaux

@VincentDecaux ใช้งานได้ในเบราว์เซอร์เดสก์ท็อปแม้เมื่อใช้โหมดดูผ่านมือถือ แต่มันจะไม่ทำงานในเบราว์เซอร์มือถือเพื่อเปิดแอป whatsapp หรือแอปธุรกิจ whatsapp อาจมีการเปลี่ยนแปลง uri การเชื่อมโยงภายในในแอป
Ricardo BRGWeb

ตกลงคุณลองใช้ตัวเลือกที่สองของฉันหรือไม่ ค่อนข้างฉันไม่ได้ลองใช้เบราว์เซอร์มือถือฉันจะลองในวันพรุ่งนี้
Vincent Decaux

14

เมื่อเร็ว ๆ นี้ WhatsApp อัปเดตบนเว็บไซต์ทางการที่เราต้องใช้แท็ก HTML นี้เพื่อให้สามารถแชร์ได้กับเว็บไซต์มือถือ:

<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>

คุณสามารถแทนที่text=เพื่อให้ลิงค์ของคุณหรือเนื้อหาข้อความใด ๆ


ฉันทดสอบสิ่งนี้เป็นการส่วนตัว มันเปิดแอปพลิเคชัน แต่ไม่มีอะไรอื่น
HoldOffHunger

@HoldOffHunger เพราะคุณจำเป็นต้องใช้ urlencode ไม่เช่นนั้นมันจะไม่ทำงาน
Shiv Singh

@Shiv: นั่นไม่ใช่ปัญหาของฉัน
HoldOffHunger

วิธีนี้ใช้งานได้แน่นอน ... มีวิธีใดที่จะแทรกตัวแบ่งบรรทัด (ป้อนคีย์) ในข้อความ
cht

@cht ค่อนข้างช้า แต่คุณสามารถใช้% 0D เป็นตัวแบ่งบรรทัดได้
Elro444

11

ปรับปรุงล่าสุด

ตอนนี้คุณสามารถใช้ API ล่าสุดจาก whatsapp https://wa.me/โดยไม่ต้องกังวลเกี่ยวกับตัวแทนผู้ใช้ API จะทำการจัดการตัวแทนผู้ใช้

แบ่งปันข้อความที่เติมล่วงหน้าด้วยตัวเลือกการเลือกผู้ติดต่อในไคลเอนต์ whatsapp (Android / iOS / Webapp) ที่เกี่ยวข้อง:

https://wa.me/?text=urlencodedtext

เปิดกล่องโต้ตอบการแชทสำหรับผู้ใช้ Whatsapp โดยเฉพาะในไคลเอนต์ WhatsApp (Android / iOS / Webapp) ที่เกี่ยวข้อง:

https://wa.me/whatsappphonenumber

แบ่งปันข้อความที่กรอกไว้ล่วงหน้ากับผู้ใช้คนใดคนหนึ่ง (รวมไว้เหนือสอง):

https://wa.me/whatsappphonenumber/?text=urlencodedtext

หมายเหตุ : whatsappphonenumberควรเป็นหมายเลขโทรศัพท์แบบเต็มในรูปแบบสากล ละเว้นเลขศูนย์วงเล็บหรือขีดคั่นเมื่อเพิ่มหมายเลขโทรศัพท์ในรูปแบบสากล

สำหรับเอกสารอย่างเป็นทางการโปรดไปที่https://faq.whatsapp.com/th/general/26000030


wa.me/whatsappphonenumber/?text=urlencodedtextไม่ทำงานมันก็ดูเหมือน
Kiran

7

ฉันกลัวว่า WhatsApp สำหรับ Android ปัจจุบันยังไม่สนับสนุนให้เรียกจากเว็บเบราว์เซอร์

ฉันมีข้อกำหนดแบบเดียวกันสำหรับโครงการปัจจุบันของฉันและเนื่องจากฉันไม่สามารถหาข้อมูลที่เหมาะสมได้เลยฉันจึงดาวน์โหลดไฟล์ APK

ใน Android หากแอปพลิเคชันต้องการถูกเรียกจากเว็บเบราว์เซอร์จะต้องกำหนดกิจกรรมด้วยหมวดหมู่ android.intent.category.BROWSABLE

คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้ได้ที่นี่: https://developers.google.com/chrome/mobile/docs/intents

หากคุณดูที่ไฟล์ WhatsApp AndroidManifest.xml Activiy เพียงหมวดหมู่ BROWSABLE จะเป็นไฟล์นี้:

<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>

ฉันได้เล่นกับมันมาระยะหนึ่งแล้วและฉันก็ไม่สามารถทำงานได้ สิ่งที่ฉันได้รับมากที่สุดคือการเปิดแอปพลิเคชัน WhatsApp จาก Chrome แต่ฉันไม่สามารถหาวิธีตั้งค่าเนื้อหาข้อความและผู้รับ

เนื่องจากยังไม่มีการบันทึกข้อมูลโดยทีม WhatsApp ฉันจึงคิดว่านี่ยังอยู่ในระหว่างดำเนินการ ดูเหมือนว่าในอนาคต WhatsApp จะจัดการกับ SMS ด้วย

วิธีเดียวที่จะได้รับข้อมูลเพิ่มเติมคือไปถึงทีมงาน WhatsApp ที่ฉันลองใช้ แต่ฉันยังรอคำตอบอยู่

ความนับถือ!


1
ฉันขอให้คุณแบ่งปันข้อมูลใหม่เกี่ยวกับปัญหานี้ได้ไหม จะสะดวกมากสำหรับฉันเช่นกัน อย่างไรก็ตามขอขอบคุณสำหรับคำตอบที่ครบถ้วนสมบูรณ์
ccalboni

ฉันสามารถติดต่อกับ WhatsApp devs ได้ พวกเขายอมรับว่าคุณสมบัตินี้ไม่ได้รับการสนับสนุน
HoldOffHunger

7

โดยทั่วไปแล้วมันสมเหตุสมผลที่จะแสดงลิงค์ Whatsapp บนอุปกรณ์ iOS หรือ Android เท่านั้นโดยใช้สคริปต์ java

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

อะไรไม่ทำงาน ลิงค์ปรากฏบนอุปกรณ์ที่ไม่ใช่สำหรับมือถือ? บนอุปกรณ์มือถือลิงค์ไม่ทำงาน?
Weidenrinde

แอปพลิเคชัน WhatsApp จะเปิดขึ้น แต่ไม่มีข้อความหรือข้อความที่แสดง ทดสอบกับระบบปฏิบัติการและอุปกรณ์ต่าง ๆ ฉันส่งนักพัฒนาซอฟต์แวร์ทางอีเมล พวกเขาอย่างเป็นทางการไม่สนับสนุนพฤติกรรมนี้ "น่าเสียดายที่มันไม่ได้รับการสนับสนุนในขณะนี้เรากำลังพยายามปรับปรุงแอพของเราอยู่เสมอและจะนำข้อเสนอแนะของคุณมาพิจารณา" (ตั๋ว # 172349248330585) ฉันได้ทดสอบบริการอื่น ๆ แล้ว 40 รายการมีเพียง WhatsApp และ Viber เท่านั้นที่ไม่สนับสนุนเอกสารของตัวเอง
HoldOffHunger

7

เพิ่งทดสอบwhatsapp://แบบแผนของฉันแก่Android 2.3.3ด้วยWhats App 2.11.301ทำงานเหมือนจับใจ ดูเหมือนว่าจะเป็นแค่Whats Appเวอร์ชั่น เนื่องจากWhats Appบังคับให้ทุกคนอัปเดตจึงควรใช้อย่างปลอดภัย

Whats Appเอกสารยังกล่าวถึงโครงการว่าhttp://www.whatsapp.com/faq/en/android/28000012

ฉันใช้สิ่งนี้ในไซต์ที่ใช้งานจริงในตอนนี้และจะอัปเดตที่นี่หากฉันได้รับข้อร้องเรียนจากผู้ใช้

แก้ไข (14 พ.ย. ):ไม่มีการร้องเรียนของผู้ใช้หลังจากสองสามสัปดาห์


6

เอกสารทางการบอกว่าจะใช้: wa.me. wa.meอย่าใช้ ลองด้วยตัวคุณเอง: https://wa.me/?text=SomeTexttoShare ผลลัพธ์สำหรับฉัน:

เราไม่พบหน้าเว็บที่คุณต้องการ

ดูเหมือนว่าคุณกำลังค้นหาหน้าเว็บที่ไม่มีอยู่ หรือหน้าเราอาจเพิ่งลบ ไม่ว่าจะด้วยวิธีใดกลับไปหรืออย่าลืมตรวจสอบการสะกดคำของคุณแล้วลองอีกครั้ง

หากคุณต้องการแชร์คุณต้องใช้หนึ่งในสองรูปแบบ URL ต่อไปนี้:

https://api.whatsapp.com/send?text=YourShareTextHere
https://api.whatsapp.com/send?text=YourShareTextHere&phone=123

หากคุณมีความสนใจในการดูโครงการที่ติดตาม URL เหล่านี้ลองดูเรา!: https://github.com/bradvin/social-share-urls#telegramme

URL แบ่งปันทางสังคม


การใช้whatsapp://send?text=งานได้ผลสำหรับฉันโดยมีหรือไม่มีการเข้ารหัส URL ทดสอบเฉพาะบน iOS
สโนว์บอล

เฮ้ @Snowball: ขอบคุณสำหรับความคิดเห็นจริง ๆ แล้วมันจะใช้งานได้เมื่อติดตั้งแอพ whatsapp เท่านั้น เป็นเรื่องปกติสำหรับcustomProtocol://action=?ลิงก์ประเภทต่างๆ ดังนั้นจะไม่ทำอะไรบนเดสก์ท็อป การใช้สิ่งนั้นจะต้องมีการตรวจจับระบบปฏิบัติการจากนั้นใช้หนึ่ง URL สำหรับเดสก์ท็อปและอีกอันสำหรับ iOS แต่นั่นเป็นเรื่องที่แตกต่างกันโดยสิ้นเชิงมากกว่าสิ่งที่ OP ขอ
HoldOffHunger

3

สลับลิงก์ Whatsapp ตามแพลตฟอร์มไม่ว่าจะเป็นเดสก์ท็อปหรือมือถือ

วิธีนี้ใช้ได้ทั้งหรือไม่ระบุหมายเลขโทรศัพท์ในลิงค์

สำหรับมือถือ

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

   window.open(vm.LinkTextToShare,"_blank");

สำหรับเดสก์ท็อป

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

   window.open(vm.LinkTextToShare,"_blank");

3

รหัสนี้ใช้ได้สำหรับฉัน

หลังจากคลิกที่ลิงค์มันจะขอให้คุณเลือกผู้ติดต่อเพื่อแบ่งปันข้อความ

<a href="https://api.whatsapp.com/send?text=enter message here">Click here to share on Whatsapp</a>

คุณสามารถเพิ่ม target = "_ blank" เพื่อเปิดในหน้าต่างหรือแท็บใหม่

ฉันไม่คิดว่าจำเป็นต้องใช้หมายเลขโทรศัพท์เมื่อใครบางคนต้องการแบ่งปันข้อความหรือบทความเฉพาะ


สามารถเปิดได้ในเดสก์ท็อปเบราว์เซอร์ ส่งต่อไปยังหน้า web.whatsapp อย่างไร
gumuruh

1

ใช้มันเหมือน "whatsapp: // send? text =" + encodeURIComponent (ข้อความของคุณไปที่นี่) มันจะใช้งานได้อย่างแน่นอน


0

พยายามทำให้เป็นอย่างนี้:

<a href="https://wa.me/(phone)?text=(text URL encoded)">Link</a>

แม้คุณสามารถส่งข้อความโดยไม่ต้องใส่หมายเลขโทรศัพท์ในลิงค์:

<a href="https://wa.me/?text=Hello%20world!">Say hello</a>

หลังจากคลิกที่ลิงค์คุณจะเห็นรายชื่อผู้ติดต่อที่คุณสามารถส่งข้อความถึง

ข้อมูลอื่น ๆ ในhttps://faq.whatsapp.com/en/general/26000030

โชคดี!


whatsapp กล่าวว่าเราไม่พบหน้าเว็บที่คุณต้องการ
Reza Mortazavi

ฉันไม่เข้าใจ WhatsApp แสดงข้อผิดพลาดนั้นหรือไม่? เมื่อไหร่?
Gustavo Cantero
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.