Ich möchte mich erneut darüber beschweren, dass WeChat -Materialmanagement und Massenversuche nicht freundlich zu Java sind, und dieser Artikel muss mit meinen vorherigen Artikel und offiziellen Dokumenten kombiniert werden.
Beim Debuggen von Massen -Senden -Testnummern müssen Sie nur feststellen, ob die Massensendungsnachricht erfolgreich zusammengestellt werden kann und Sie das Ergebnis nicht sehen müssen (es wird sowieso nicht gesendet werden), da WeChat diese Funktion noch nicht geöffnet hat (es ist auch wahrscheinlich nicht geöffnet).
1. Massenerklärung
Auf der Website der öffentlichen Plattform werden Abonnementkonten mit einer massenversenden -Genehmigung pro Tag und Servicekonten mit vier Massenversenden pro Monat (natürlicher Monat) erhalten.
1. Für authentifizierte Abonnementkonten kann die Massensendungsschnittstelle einmal am Tag erfolgreich aufgerufen werden. Dieses Senden von Massen kann ausgewählt werden, um an alle Benutzer oder ein bestimmtes Tag zu senden.
2. Obwohl die täglichen Anrufe des Entwicklers, die die erweiterte Massensendungsschnittstelle verwenden, für Authentifizierungsdienstkonten auf 100 -mal begrenzt sind, können Benutzer nur 4 Nachrichten pro Monat erhalten. Unabhängig davon, ob sie auf öffentlichen Plattform -Websites oder mit Massensenden -Schnittstellen verwenden, können Benutzer nur 4 Nachrichten pro Monat erhalten. Mehr als 4 Massensendungen senden nicht an den Benutzer.
3. Entwickler können Clientmsgid aktiv festlegen, um wiederholte Drucke zu vermeiden.
V.
5. Die Möglichkeit, Ihr eigenes Konto und andere öffentliche Konten in die Text- und SMS -Links einzufügen, die in einem Massenartikel veröffentlicht wurden.
2. Der Prozess des Massensendens von Textnachrichten
1. Verwenden Sie zunächst die Bildschnittstelle im Bild- und Textnachricht hochladen, um sie erfolgreich hochzuladen und die Bild -URL zu erhalten. Weitere Informationen finden Sie im vorherigen Text, um das Bild und die Textnachricht hochzuladen, um die URL -Methode zu erhalten
2. Verwenden Sie beim Hochladen von Grafik- und Textnachrichtenmaterialien die im vorherigen Schritt erhaltene Bild -URL.
3.. Verwenden Sie Massensenden an Benutzer -Tags oder Massensenden von OpenID -Listen, um die Text- und Textnachrichten zu senden. Während des Massenversendens führt WeChat die ursprüngliche Überprüfung durch und gibt die Ergebnisse des Massensendungsvorgangs zurück.
4. In dem obigen Vorgang können Sie gegebenenfalls auch die Grafik- und Textnachrichten in Anschaulichkeit des Status des Massensendens abfragen oder die Massensendungsmeldungen usw. löschen.
3.. Der Prozess des Sendens anderer Nachrichtentypen wie Massenbilder und Texte
1. Wenn es sich um eine Massentextenmeldung handelt, senden Sie sie einfach direkt gemäß den folgenden Schnittstellenanweisungen.
2. Wenn Sie Nachrichten wie Massenbilder, Videos usw. senden, müssen Sie MediaID im Voraus über die Materialverwaltungsschnittstelle vorbereiten.
Iv. Is_to_all Beschreibung
Wird verwendet, um festzustellen, ob an alle Benutzer gesendet werden soll, der Wert true oder falsch ist, true aus, die Nachricht wird an alle Benutzer in der Gruppe gesendet und false auswählt, um an Benutzer in der angegebenen Gruppe nach Tag_ID zu senden.
5. Zwei Arten von Massensendungsmethoden
Massensenden gemäß dem Tag müssen die Abonnementnummer und die Servicenummer authentifiziert werden
Schnittstelle: https://api.weixin.qq.com/cgi-ner/message/mass/sendall?access_token=access_token
Massenversenden gemäß OpenID -Liste gilt nur für zertifizierte Service -Nummern
Schnittstelle: https://api.weixin.qq.com/cgi-ner/message/mass/send?access_token=access_token
Postdaten können Grafiknachrichten, Text-, Sprach-/Audio-, Bild-, Video- und Karten -Gutscheinmeldungen sein (alle Orte, an denen Media_ID verwendet werden, können Sie jetzt die permanente Materialmedia_ID in der Materialverwaltung verwenden).
1. Die media_id in den Postdaten der Textnachricht muss über die Schnittstelle zwischen Textnachrichten (https://api.weixin.qqqq.com/cgi-bin/media/uploadnews?access_token=access_token) erhalten werden.
Dies entspricht den Postdaten der neuen Grafikmaterial -Schnittstelle für dauerhafte Grafik in der Materialverwaltung, aber die Schnittstelle ist unterschiedlich und der zurückgegebene JSON hat einen zusätzlichen Typ und erstellt_at. In meinem vorherigen Artikel finden Sie die Methode zum Hinzufügen von dauerhaftem Grafikmaterial
2. Media_id in Voice/Audio- und Bildbeitragsdaten müssen durch Hochladen und Herunterladen von Multimedia -Dateischnittstellen erhalten werden. In meinem vorherigen Artikel finden Sie die neue vorübergehende/dauerhafte Materialmethode
3. Media_id in Videopostdaten ist am problematischsten. Sie müssen zuerst Media_ID über die Upload- und Download -Multimedia -Dateischnittstelle erhalten (nach dem Testen ist die Eingabeaufforderung für den dauerhaften nächsten Schritt ungültig) und dann über die spezielle Schnittstelle ein Media_ID abzurufen. Dies ist die Media_id, die für das Senden von Massen erforderlich ist.
6. Massenprobencontroller
@RequestMapping ("/sendByopenid") public massmsgresult sendByopenId () löst eine Ausnahme aus {// eine Massentextnachricht nach der OpenID -Liste String mediaPath1 = "C: /Users/Phil/pictures/image/8538572f61d7a94cf0b9f0f0f290cdb28.jpg"; UploadMediasResult result1 = httprequtil.UploadTempedia ("Phil_Token", "Image", MediaPath1); String MediaPath2 = "C: /Users/phil/pictures/image/685977ABGW1F8XQP46DGYJ20QO0ZKTFI.JPG"; UploadMediasResult result2 = httprequtil.UploadTempedia ("Phil_Token", "Image", MediaPath2); Liste <hochladenNewsmedia> array = new ArrayList <> (); UploadNewsmedia Entity1 = Neue UploadNewsmedia (); Entity1.SetAuthor ("Phil"); Entity1.SetContent ("Nur Erfahrung können Sie das Leben verstehen, nur wissen, wie man es schätzt, nur weiß, wie man es versteht, in Ihrem Leben wird es immer jemanden geben, der Sie am süßesten lacht, und es wird immer jemanden geben, der Sie am tiefsten fühlen, vergessen, sich freundlich behandeln"). Entity1.SetContent_Source_url ("http://blog.csdn.net/phil_jing"); // Entity1.SetDigest ("Digest"); entity1.setshow_conver_pic (1); Entity1.Setthumb_Media_ID (result1.getMedia_id ()); Entity1.Settitle ("Soul Chicken Suppe"); Array.Add (Entity1); UploadNewsmedia Entity2 = Neue UploadNewsmedia (); Entity2.SetAuthor ("Phil"); Entity2.SetContent ("Was ist Glück? Glück ist ein glücklicher psychologischer Zustand und Gefühl von sich selbst. Nur diejenigen, die sich jederzeit und in allem glücklich machen können, sind die glücklichsten Menschen. Die glücklichsten Menschen sind die glücklichsten Menschen. Menschen, die lächeln, sind oft die glücklichsten Menschen.") Entity2.SetContent_Source_url ("http://www.qq.com"); // Entity2.setDigest ("Digest"); Entity2.setshow_conver_pic (0); Entity2.Setthumb_Media_ID (result2.getMedia_id ()); Entity2.Settitle ("klassische Zitate"); array.add (Entity2); UploadMediasResult ur = httprequtil.Uploadnewsmedia ("Phil_Token", Array); Liste <String> openIDS = new ArrayList <> (); OpenIds.Add ("ovhq5v9-zshucax_ntcqwip-sbcg"); openids.add ("ovhq5v6cw3inkwuscl3olodif0cc"); MassmsGreSult result_news = wechatmsgservice.sendmpnewstooopenid ("Phil_Token", OpenIDS, ur.getMedia_id ()); logger.debug ("von OpenID msg {}", result_news.geterrmsg ()); // Senden Sie eine Textnachricht basierend auf der OpenID -Liste Massmsgresult result_text = wechatmsgService.sendTextToopenid ("Phil_token", OpenIDs, "Was ist Glück? Glück ist ein glücklicher psychologischer Zustand und das Gefühl, diejenigen, die sich jederzeit glücklich machen können. logger.debug ("von OpenID msg {}", result_text.geterrmsg ()); null zurückkehren; }7. Einige der verwendeten Klassen und Methoden
Massenversandmethode
/ *** Textnachrichten basierend auf dem Tag* @param AccessToken Autorisierte Token* @param Entity Graphic Message Object* @return*/ public massmsgresult sendTextToTAG (String AccessToken, int tagid, String -Inhalt) {Massmsgresult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <String, Objekt> textParams = new HashMap <> (); TextParams.put ("Inhalt", Inhalt); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); dataparams.put ("text", textparams); dataparams.put ("msgType", "text"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Massentextnachrichten basierend auf Tags * @param AccessToken Authorize Token * @param Tagid Tag * @param MediaID UploadMedia -Methode Get * @return * / public massmsgresult sendMpNewStotag (String AccessToken, Int tagid, String mediaId) {MassMsResult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <string, Objekt> mpNewSparams = new Hashmap <> (); mpNewSparams.put ("media_id", mediaId); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); dataparams.put ("mpNews", mpNewSparams); dataparams.put ("msgType", "mpnews"); dataparams.put ("send_ignore_reprint", 0); // String data = jsonutil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Bilder basierend auf Tags * @param AccessToken Authorized Token * @param Tagid Tag * @param MediaId UploadMedia -Methode Get * @return * / public massmsgresult sendImagetotag (String AccessToken, int tagid, String mediaId) {MassmsResult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <String, Objekt> ImageParams = new HashMap <> (); ImageParams.put ("Media_id", MediaId); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); Dataparams.put ("Bild", ImageParams); Dataparams.put ("msgType", "Bild"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; }/** * Bulk Voice/Audio basierend auf dem Tag * @param AccessToken Authorized Token * @param Tagid Tag * @param MediaId UploadMedia -Methode Get * @return */public massmsgresult sendVoIcetotag (String AccessToken, Int tagid, String mediaId) {MassmsResult Ergebnis = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <String, Object> VoiceParams = New HashMap <> (); VoiceParams.put ("Media_id", MediaId); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); Dataparams.put ("Voice", VoiceParams); dataparams.put ("msgType", "voice"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Videos basierend auf Tags * @param AccessToken Authorized Token * @param Tagid Tag * @param MediaID UploadMedia -Methode Get * @return * / public massmsgresult sendVideototag (String AccessToken, int tagid, String mediaId) {MassmsResult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <string, Objekt> mpvideoparams = new HashMap <> (); mpvideoparams.put ("media_id", mediaId); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); dataparams.put ("mpvideo", mpvideoparams); dataparams.put ("msgType", "mpvideo"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Karten -Gutscheine basierend auf Tags * @param AccessToken Authorized Token * @param Tagid Tag * @param card_id * @return * / public massmsgresult sendWxCardToTAg (String AccessToken, int tagid, String cardid) {Massmsgresult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Post -Sureinic -Parameter map <String, Objekt> filterparams = new HashMap <> (); filterparams.put ("is_to_all", false); filterparams.put ("tag_id", tagid); Karte <string, Objekt> wxCardParams = new Hashmap <> (); wxCardParams.put ("Card_id", Cardid); Treemap <String, Object> DataParams = new Treemap <> (); dataparams.put ("filter", filterparams); dataparams.put ("wxcard", wxCardParams); dataparams.put ("msgType", "wxCard"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_all_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Senden Sie Massenmeldungen basierend auf OpenID * @param AccessToken Authorized Token * @param Tagid Tag * @param MediaID UploadMedia -Methode Get * @return * / public massmsgresult sendMpNewStoopenID (String AccessToken, List <string> openIDs, String mediaId) {MassmsGreenlte -Ergebnis = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Sendete Parameter map <String, Objekt> mpNewSparams = new Hashmap <> (); mpNewSparams.put ("media_id", mediaId); Treemap <String, Object> DataParams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); dataparams.put ("mpNews", mpNewSparams); dataparams.put ("msgType", "mpnews"); Dataparams.put ("send_ignore_reprint", 0); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Textnachrichten basierend auf OpenID * @param AccessToken Authorization Token * @param openIds openID * @param content * @return * / public massmsgresult sendTextToopenID (String AccessToken, List <string> openIDs, String -Inhalt) {MassmsSresult result = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Sendete Parameter map <String, Objekt> textParams = new HashMap <> (); TextParams.put ("Inhalt", Inhalt); Treemap <String, Object> DataParams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); dataparams.put ("text", textparams); dataparams.put ("msgType", "text"); String data = jsonUtil.tojonstring (dataparams); System.out.println (Daten); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Senden Sie Massensprachnachrichten basierend auf OpenID * @param AccessToken Autorisierung Token * @param openIDs openID * @param mediaId * @return * / public massmsgresult sendVocietoopenId (String AccessToken, List <string> openIDs, String mediaId) {MassmsResult Ergebnis = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Sendete Parameter map <String, Objekt> VoiceParams = New HashMap <> (); VoiceParams.put ("Media_id", MediaId); Treemap <String, Object> DataParams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); Dataparams.put ("Voice", VoiceParams); dataparams.put ("msgType", "voice"); String data = jsonUtil.tojonstring (dataparams); System.out.println (Daten); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Bildmeldungen basierend auf OpenID * @param AccessToken Autorisierte Token * @param openIDs openID * @param mediaId * @return * / public massmsgresult sendImagetoopenid (String AccessToken, List <string> openIDs, String mediaId) {MassmsResult Ergebnis = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Sendete Parameter map <String, Objekt> ImageParams = new HashMap <> (); ImageParams.put ("Media_id", MediaId); Treemap <String, Object> DataParams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); Dataparams.put ("Bild", ImageParams); Dataparams.put ("msgType", "Bild"); String data = jsonUtil.tojonstring (dataparams); System.out.println (Daten); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Bulk -Videomeldungen basierend auf OpenID * @param AccessToken autorisierte Token * @param openID OpenID * @param mpvideomedia Uploadmediavideo -Methode erhält Medien * @return * / public massmsultsult sendVideotoopenid (String AccessToken, list <Stocks, mpvvideomedoMedia, mpvideomedomedoMedia, mpvideomedomedomedomien, mpvideomedomedomedomien. Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Übermittlungsparameter TREEMAP <String, Object> dataparams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); dataparams.put ("mpvideo", mpvideomedia); dataparams.put ("msgType", "mpvideo"); String data = jsonUtil.tojonstring (dataparams); System.out.println (Daten); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; } / ** * Massenkarten -Gutscheinnachricht basierend auf OpenID * @param AccessToken Authorization Token * @param openIds openID * @param mediaId * @return * / public massmsgresult sendWxCardtoopenid (String AccessToken, List <string> OpenIDs, String Cardid) {Massmsgresult Ergebnis = null; Treemap <String, String> params = new Treemap <> (); params.put ("access_token", accessToken); // Sendete Parameter map <String, Objekt> wxCardParams = new Hashmap <> (); wxCardParams.put ("Card_id", Cardid); Treemap <String, Object> DataParams = new Treemap <> (); Dataparams.put ("Touser", OpenIDS); dataparams.put ("wxcard", wxCardParams); dataparams.put ("msgType", "wxCard"); String data = jsonUtil.tojonstring (dataparams); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.send_mass_message_url, Params, Daten); try {result = jsonUtil.fromjonstring (JSON, MassMSGreSult.class); } catch (Ausnahme e) {e.printstacktrace (); } Rückgabeergebnis; }Videopostdatenbohnen
/ ** * Video -Post -Daten Bean * @Author Phil * @date 20. September 2017 * */ öffentliche Klasse Mpvideomedia {private String media_id; privater String -Titel; private Zeichenfolge Beschreibung; }Holen Sie sich Media_id im Beitrag von Mass Video
/ ** * Get Media_id im Beitrag des Massenvideos * * @param accessToken * @param uploadvideo * @return */ public static uploadmediasult uploadmediavideo (String AccessToken, mpvideomedia mpvideomedia) {UploadMediasResult -Ergebnis = null; TREEMAP <string, String> params = new Treemap <String, String> (); params.put ("access_token", accessToken); // Sendete Parameter String Data = jsonUtil.tojonstring (mpvideomedia); String json = httprequtil.httpsdefaultExecute (SystemConfig.post_method, WechatConfig.Upload_video_Media_url, Params, Daten); result = jsonUtil.fromjonstring (JSON, UploadMediasResult.class); Rückgabeergebnis; }Ergebnisse, die durch Messe zurückgegeben wurden
Paket com.phil.wechat.msg.model.resp; import com.phil.wechat.base.result.resultstate; / *** Ergebnis zurückgegeben von Massennachrichten* Bulk -Senden gemäß OpenID -Liste* @Author Phil* @date 2. Juli 2017**/ öffentliche Klasse MassMsGreult erweitert das Ergebnis {private String -Typ; // Medien -Dateitypen umfassen Bild (Bild), Voice (Voice), Video (Video) und Thumbnail (Daumen), und die Anzahl der Zeiten ist Nachrichten, dh grafische und Textnachrichten private String msg_id; private String msg_data_id; }Konfigurationsklasse
// Masse nach Gruppe öffentlich statische endgültige String-String send_all_mass_message_url = "https://api.weixin.qq.com/cgi-ner/message/mass/sendall"; // Massenmeldungen nach OpenID (mindestens 2 OpenIDs, bis zu 10.000 10.000) Senden von öffentlichem statischer String send_mass_message_url = "https://api.weixin.qq.com/cgi-bin/message/mass/send"; // Grafik- und SMS-Meldungsmaterial hochladen public static final String upload_news_media_url = "https://api.weixin.qq.com/cgi-ner/media/uploadnews"; // Media_id public static final String upload_video_media_url = "https://api.weixin.qq.com/cgi-ner/media/uploadvideo" im Mass-Videos;
In Bezug auf den Quellcode hoffe ich, dass es Ihnen hilft
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.