


La série de développement Force.com WeChat s'applique aux comptes de test et répond aux messages graphiques
En plus des simples réponses aux messages texte, Force.com peut également répondre aux messages avec des images et des textes, répondre à de la musique ou des vidéos, reconnaître les voix envoyées par les utilisateurs, collecter des informations de localisation géographique des utilisateurs et fournir le contenu ou les services correspondants, etc. ., cet article expliquera ces compétences une par une. Avant cela, nous devons d'abord présenter comment demander un compte test avec toutes les fonctions de l'interface du compte de service (bien que cela ne soit pas nécessaire pour répondre aux messages graphiques).
Demander un compte test
En tant que développeur individuel, vous pouvez demander un compte d'abonnement. Le compte d'abonnement ouvre uniquement l'interface de base, y compris la réception des messages des utilisateurs, répondre aux utilisateurs et accepter les événements (l'événement push a suivi ou ne plus suivre, scanner le code QR avec des paramètres (la génération d'un tel code QR nécessite une interface avancée), signaler l'emplacement géographique (non pris en charge par un compte d'abonnement ordinaire), menu personnalisé (non pris en charge par un abonnement ordinaire compte) ) cliquez) poussez trois interfaces, mais les fonctions avancées telles que les menus personnalisés, la reconnaissance vocale, les interfaces de service client, l'autorisation de page Web OAuth2.0, l'obtention d'informations de localisation géographique de l'utilisateur, etc. nécessitent toutes la prise en charge de comptes de service, parmi lesquels un abonnement certifié comptes Supporte le menu personnalisé. Afin de permettre aux développeurs de comprendre et d'apprendre ces interfaces de Tencent, comme toute entreprise de plateforme, Tencent a finalement ouvert des applications pour les comptes de test à la fin de l'année dernière. Toute personne possédant un compte d’abonnement WeChat peut postuler (un compte de service devrait également être possible, mais je n’ai pas vu à quoi ressemble le backend d’un compte de service, donc je ne ferai pas de commentaire).
La méthode de candidature est simple et directe. Après avoir accédé au backend WeChat (https://mp.weixin.qq.com), il y a un bouton en bas à gauche de la dernière version (au 6 juillet). , 2014) du backend. Après avoir cliqué sur le lien "Developer Center", vous trouverez un lien vers "Interface Test Application System Cliquez pour entrer". Après avoir cliqué pour entrer, vous pouvez postuler selon les idées de Tencent. dans les détails ici.
À quoi ressemblera l'application après une connexion réussie. Vous pouvez également la voir ici. voyez un deux lorsque vous faites défiler la page, scannez ce code QR via WeChat pour suivre ce compte de test, qui prend en charge jusqu'à 20 utilisateurs de test. Après un suivi réussi, il y aura un compte supplémentaire appelé « Compte de test de la plateforme publique WeChat ». " dans le dossier "Compte d'abonnement" WeChat, notez que bien qu'il se trouve dans le dossier "Compte d'abonnement", il a les fonctions de tous les comptes de service :
Pour le prochain travail, nous construisons d'abord ici plusieurs classes clés et les cadres de traitement correspondants pour faciliter l'ajout ultérieur d'un support plus fonctionnel.
IncomingMsg : la classe de messages envoyés par l'utilisateur, comprenant diverses informations de champ clés ;
WeChatNews : la classe d'actualités lors de la réponse aux actualités avec des images et des textes
Le IncomingMsg ; le code de classe est le suivant, 12 champs, comprenant la plupart des informations de champ de différents types de messages :
Le code de définition de la classe WeChatNews est le suivant, y compris les informations de définition détaillées d'une actualité :Ensuite, dans la méthode doPost, nous utiliserons le code d'analyse XML dans le dernier article de blog de ce soir pour lui permettre d'analyser tout type de texte XML WeChat. La méthode doPost modifiée est la suivante :
public class IncomingMsg{ public String toUserName; public String fromUserName; public String msgType; public String picURL; public String mediaID; public String locationX; public String locationY; public String URL; public String content; public String event; public String eventKey; public String recognition; public IncomingMsg(){} public IncomingMsg(String tUN, String fUN, String mT, String pU, String mI, String lX, String lY, String u, String c, String e, String eK, String r){ this.toUserName = tUN; this.fromUserName = fUN; this.msgType = mT; this.picURL = pU; this.mediaID = mI; this.locationX = lX; this.locationY = lY; this.URL = u; this.content = c; this.event = e; this.eventKey = eK; this.recognition = r; } }
public class WeChatNews{ public String title; public String description; public String picUrl; public String url; public WeChatNews(){} public WeChatNews(String t, String d, String p, String u){ this.title = t; this.description = d; this.picUrl = p; this.url = u; } }
global static void doPost(){ //Receive message from user; RestRequest req = RestContext.request; RestResponse res = RestContext.response; string strMsg = req.requestBody.toString(); System.debug('Request Contents' + strMsg); XmlStreamReader reader = new XmlStreamReader(strMsg); String toUserName = ''; String fromUserName = ''; String msgType = ''; String picURL = ''; String mediaID = ''; String locationX = ''; String locationY = ''; String URL = ''; String content = ''; String msgID = ''; String event = ''; String eventKey = ''; String recognition = ''; while(reader.hasNext()){ if(reader.getLocalName() == 'ToUserName'){ reader.next(); if(String.isNotBlank(reader.getText())){ toUserName = reader.getText(); } } else if(reader.getLocalName() == 'FromUserName'){ reader.next(); if(String.isNotBlank(reader.getText())){ fromUserName = reader.getText(); } } else if(reader.getLocalName() == 'MsgType'){ reader.next(); if(String.isNotBlank(reader.getText())){ msgType = reader.getText(); } } else if(reader.getLocalName() == 'PicURL'){ reader.next(); if(String.isNotBlank(reader.getText())){ picURL = reader.getText(); } } else if(reader.getLocalName() == 'MediaId'){ reader.next(); if(String.isNotBlank(reader.getText())){ mediaID = reader.getText(); } } else if(reader.getLocalName() == 'Location_X'){ reader.next(); if(String.isNotBlank(reader.getText())){ locationX = reader.getText(); } } else if(reader.getLocalName() == 'Location_Y'){ reader.next(); if(String.isNotBlank(reader.getText())){ locationY = reader.getText(); } } else if(reader.getLocalName() == 'Url'){ reader.next(); if(String.isNotBlank(reader.getText())){ URL = reader.getText(); } } else if(reader.getLocalName() == 'MsgId'){ reader.next(); if(String.isNotBlank(reader.getText())){ msgID = reader.getText(); } } else if(reader.getLocalName() == 'Content'){ reader.next(); if(String.isNotBlank(reader.getText())){ content = reader.getText(); } } else if(reader.getLocalName() == 'Event'){ reader.next(); if(String.isNotBlank(reader.getText())){ event = reader.getText(); } } else if(reader.getLocalName() == 'EventKey'){ reader.next(); if(String.isNotBlank(reader.getText())){ eventKey = reader.getText(); } } else if(reader.getLocalName() == 'Recognition'){ reader.next(); if(String.isNotBlank(reader.getText())){ recognition = reader.getText(); } } reader.next(); } IncomingMsg inMsg = new IncomingMsg(toUserName, fromUserName, msgType, picURL, mediaID, locationX, locationY, URL, content, event, eventKey, recognition ); }
String rtnMsg = ''; //回复消息 if(msgType.equals('text')){ rtnMsg = handleText(inMsg); } RestContext.response.addHeader('Content-Type', 'text/plain'); RestContext.response.responseBody = Blob.valueOf(rtnMsg);
代码的思路应该来说比较直接,从第4行的if开始判断用户发送过来的文本是什么,根据不同的关键字来确定不同的返回内容,第一个if里将返回给用户单图文信息,这里先构造了一个WeChatNews数组,当然数组里只有一个WeChatNews对象,将这个数组交给composeNewsReply来完成最终的XML文构建;第一个else if也很类似,只不过这里的WeChatNews数组里有三条新闻,关于composeNewsReply方法的细节我们稍后介绍;最后一个else if里展示了如何回复音乐,这里我们构建了一个Map对象存储音乐的详情,并调用composeMusicReply方法来完成最终的XML文构建,同样该方法的细节稍后就会介绍到。
上面的思路应该来说还是比较清楚的,接下来介绍composeNewsReply方法的全部代码:
private static String composeNewsReply(IncomingMsg msg, List<wechatnews> newsList){ String strNews = ''; String newsTpl = '<item><title></title> <description></description><picurl></picurl><url></url></item>'; for(WeChatNews news : newsList){ String[] arguments = new String[]{news.title, news.description, news.picUrl, news.url}; strNews += String.format(newsTpl, arguments); } String strTmp = '<xml><tousername></tousername><fromusername></fromusername><createtime>1234567890</createtime><msgtype></msgtype><articlecount></articlecount><articles>' + strNews + '</articles></xml>'; String[] arguments = new String[]{msg.fromUserName, msg.toUserName, String.valueOf(newsList.size())}; String results = String.format(strTmp, arguments); return results; }</wechatnews>
了解该方法代码前先要了解回复图文信息的XML格式,关于此点可以参照腾讯公司链接:回复图文消息 ,与前文介绍到的普通文本消息大同小异,可以留意到里面有个ArticleCount字段用来指定回复的消息里能有几条图文新闻,最大是10,超过10则会无法响应;另外Article节点下方每一个item均是一条图文消息。为此,上述代码的第3行先构造一个每条新闻的模板,接着从第4行开始轮询新闻列表里的每一条新闻,并构造相应的XML文。从第8行开始构造整个图文回复的字符串模板,并在第9、10行通过相应参数将模板转换为最终的XML字符串。
再接下来介绍composeMusicReply,该方法的全部代码如下:
private static String composeMusicReply(IncomingMsg msg, Map<string> music){ String strTitle = music.get('title'); String strDesc = music.get('description'); String strURL = music.get('musicUrl'); String strHQURL = music.get('musicHQUrl'); String musicTpl = '<xml><tousername></tousername><fromusername></fromusername><createtime>12345678</createtime><msgtype></msgtype><music><title></title> <description></description><musicurl></musicurl><hqmusicurl></hqmusicurl></music></xml>'; String[] arguments = new String[]{msg.fromUserName, msg.toUserName, strTitle, strDesc, strURL, strHQURL}; String results = String.format(musicTpl, arguments); return results; }</string>
同样了解该方法要首先了解回复音乐信息的XML格式,可以参照腾讯公司链接:回复音乐消息,上面代码与前面方法比较类似,就不再赘述。(这里的Map对象也许有点多余,可以考虑是否可以和回复视频的方法整合到一起,否则不需要额外的Map对象开销,直接将标题、描述、链接等信息传给composeMusicReply方法即可)。
运行效果
完成后直接保存代码便可立即生效,回复图文、多图文、音乐的运行效果分别如下:
更多La série de développement Force.com WeChat sapplique aux comptes de test et répond aux messages graphiques相关文章请关注PHP中文网!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP est un langage de script open source largement utilisé dans le développement Web et la programmation côté serveur, notamment dans le développement de WeChat. Aujourd'hui, de plus en plus d'entreprises et de développeurs commencent à utiliser PHP pour le développement de WeChat, car il est devenu un langage de développement vraiment facile à apprendre et à utiliser. Dans le développement de WeChat, le cryptage et le décryptage des messages sont une question très importante car ils impliquent la sécurité des données. Pour les messages sans méthodes de cryptage et de décryptage, les pirates peuvent facilement obtenir les données, ce qui constitue une menace pour les utilisateurs.

Avec la popularité de WeChat, de plus en plus d’entreprises commencent à l’utiliser comme outil marketing. La fonction de messagerie de groupe WeChat est l'un des moyens importants permettant aux entreprises de mener du marketing WeChat. Cependant, si vous comptez uniquement sur l’envoi manuel, il s’agit d’une tâche extrêmement longue et laborieuse pour les spécialistes du marketing. Il est donc particulièrement important de développer un outil de messagerie de masse WeChat. Cet article présentera comment utiliser PHP pour développer des outils d'envoi de masse WeChat. 1. Travail de préparation Pour développer les outils d'envoi de masse WeChat, nous devons maîtriser les points techniques suivants : Connaissance de base du développement de la plateforme publique PHP WeChat Outils de développement : Sub

Dans le développement des comptes publics WeChat, la gestion des balises utilisateur est une fonction très importante, qui permet aux développeurs de mieux comprendre et gérer leurs utilisateurs. Cet article explique comment utiliser PHP pour implémenter la fonction de gestion des balises utilisateur WeChat. 1. Obtenez l'openid de l'utilisateur WeChat Avant d'utiliser la fonction de gestion des balises utilisateur WeChat, nous devons d'abord obtenir l'openid de l'utilisateur. Dans le développement des comptes publics WeChat, il est courant d'obtenir l'openid via l'autorisation de l'utilisateur. Une fois l'autorisation de l'utilisateur terminée, nous pouvons obtenir l'utilisateur via le code suivant

Alors que WeChat devient un outil de communication de plus en plus important dans la vie des gens, sa fonction de messagerie agile est rapidement privilégiée par un grand nombre d'entreprises et de particuliers. Pour les entreprises, développer WeChat en une plate-forme marketing est devenu une tendance, et l'importance du développement de WeChat est progressivement devenue plus importante. Parmi eux, la fonction d'envoi de groupe est encore plus largement utilisée. Alors, en tant que programmeur PHP, comment implémenter des enregistrements d'envoi de messages de groupe ? Ce qui suit vous donnera une brève introduction. 1. Comprendre les connaissances en développement liées aux comptes publics WeChat. Avant de comprendre comment mettre en œuvre des enregistrements d'envoi de messages de groupe, je

WeChat est actuellement l'une des plateformes sociales comptant la plus grande base d'utilisateurs au monde. Avec la popularité de l'Internet mobile, de plus en plus d'entreprises commencent à prendre conscience de l'importance du marketing WeChat. Lors du marketing WeChat, le service client est un élément crucial. Afin de mieux gérer la fenêtre de discussion du service client, nous pouvons utiliser le langage PHP pour le développement de WeChat. 1. Introduction au développement PHP WeChat PHP est un langage de script open source côté serveur largement utilisé dans le domaine du développement Web. En combinaison avec l'interface de développement fournie par la plateforme publique WeChat, nous pouvons utiliser le langage PHP pour mener WeChat

Dans le développement des comptes publics WeChat, la fonction de vote est souvent utilisée. La fonction de vote est un excellent moyen pour les utilisateurs de participer rapidement aux interactions, et c'est également un outil important pour organiser des événements et recueillir des opinions. Cet article vous présentera comment utiliser PHP pour implémenter la fonction de vote WeChat. Obtenez l'autorisation du compte officiel WeChat. Tout d'abord, vous devez obtenir l'autorisation du compte officiel WeChat. Sur la plateforme publique WeChat, vous devez configurer l'adresse API du compte public WeChat, le compte officiel et le token correspondant au compte public. Dans le processus de développement en langage PHP, nous devons utiliser le PH officiellement fourni par WeChat

Avec le développement d’Internet et des appareils mobiles intelligents, WeChat est devenu un élément indispensable dans les domaines social et marketing. Dans cette ère de plus en plus numérique, la manière d'utiliser PHP pour le développement de WeChat est devenue la préoccupation de nombreux développeurs. Cet article présente principalement les points de connaissances pertinents sur la façon d'utiliser PHP pour le développement WeChat, ainsi que certains conseils et précautions. 1. Préparation de l'environnement de développement Avant de développer WeChat, vous devez d'abord préparer l'environnement de développement correspondant. Plus précisément, vous devez installer l'environnement d'exploitation PHP et la plateforme publique WeChat

Avec la popularité de l'Internet mobile, de plus en plus de personnes utilisent WeChat comme logiciel social, et la plateforme ouverte WeChat a également apporté de nombreuses opportunités aux développeurs. Ces dernières années, avec le développement de la technologie de l’intelligence artificielle, la technologie de reconnaissance vocale est progressivement devenue l’une des technologies les plus populaires dans le développement de terminaux mobiles. Dans le développement de WeChat, la manière de mettre en œuvre la reconnaissance vocale est devenue une préoccupation pour de nombreux développeurs. Cet article expliquera comment utiliser PHP pour développer des applications WeChat afin d'implémenter des fonctions de reconnaissance vocale. 1. Principes de la reconnaissance vocale Avant de présenter comment mettre en œuvre la reconnaissance vocale, comprenons d'abord le langage
