Maison >Applet WeChat >Développement WeChat >Configuration en arrière-plan de la série de développement Force.com WeChat

Configuration en arrière-plan de la série de développement Force.com WeChat

高洛峰
高洛峰original
2017-02-25 17:05:141626parcourir

Afin de trouver des ressources cloud nationales gratuites comme backend WeChat, j'ai passé une journée à essayer SinaAppEngine (SAE). Le débogage était trop gênant et l'expérience utilisateur était médiocre. En tant qu’entreprise médiatique, les compétences techniques de Sina ne peuvent pas résister à l’épreuve. Amazon peut lancer AWS, mais Sina ne le peut pas ! Une meilleure option est Baidu BaiduAppEngine (BAE), mais même s'il a récemment commencé à charger, il est préférable de revenir sur force.com l'esprit tranquille. Au moins, les contenus gratuits promis par les étrangers seront toujours gratuits et fiables.


La première étape consiste à demander un compte force.com. Veuillez vous rendre sur Developer.force.com pour postuler. Si vous postulez pour www.salesforce.com, cela. sera un compte client. Convient aux développeurs ; la deuxième étape consiste à créer une classe Apex Rest comme interface de service WeChat. La classe créée ici est WeChatRestController et le nom de l'interface Rest est WeChatRest :

@RestResource(urlMapping='/WeChatRest/*')
global with sharing class WeChatRestController{
@HttpGet
    global static void doGet(){
        String signature = RestContext.request.params.get('signature');
        String timestamp = RestContext.request.params.get('timestamp');
        String nonce = RestContext.request.params.get('nonce');
        String echostr = RestContext.request.params.get('echostr');
        System.debug(echostr + ' - ' + timestamp);
        RestContext.response.addHeader('Content-Type', 'text/plain');
         
        RestContext.response.responseBody = Blob.valueOf(echostr);
         
        //return echostr;
    }
}

. Nous utiliserons cette interface dans WeChat Pour configurer l'URL, Tencent nécessite cette URL lors de la configuration. La fenêtre de configuration est la suivante :

Explication supplémentaire : Après la publication de cet article, Tencent a lancé la « Clé de cryptage et de décryptage des messages ». ", qui prend en charge le mode texte brut, le mode de compatibilité et le mode de sécurité. Il en existe trois types. La principale différence est qu'en mode texte brut, Tencent envoie des messages XML en texte brut à l'interface. En mode de compatibilité, il existe à la fois des messages XML en texte brut et les messages XML cryptés. En mode de sécurité, seuls les messages XML cryptés sont fournis pour fournir aux utilisateurs plus d'informations. La prise en charge de la sécurité avancée simplifie la courbe d'apprentissage de chacun. Cet article et tous les articles associés suivants utilisent le mode texte brut.

Configuration en arrière-plan de la série de développement Force.com WeChat

Tencent enverra quatre paramètres à cette URL via la méthode Get. Le format de l'URL est le suivant (exemple uniquement) : https://msd-developer-edition.ap1. force.com/services/apexrest/WeChatRest?signature=GenePoint&echostr=test×tamp=111&nonce=222 Si la valeur renvoyée par l'URL est cohérente avec la valeur echostr dans les quatre paramètres, Tencent considérera la vérification comme réussie. Si elles sont incohérentes, le la vérification sera considérée comme échouée et la configuration ne pourra pas continuer. La méthode consiste à renvoyer directement la valeur Le risque est que votre URL puisse également être utilisée par d'autres. La valeur de echostr ici est en fait calculée sur la base du jeton configuré par l'utilisateur dans le backend Tencent plus un horodatage, plus la valeur du paramètre nonce, selon un certain algorithme. Veuillez vous référer aux notes pour l'algorithme spécifique et ne le fera pas. entrez dans les détails ici. Ce qu'il faut expliquer dans le code, c'est que si echostr est renvoyé directement, force.com sera le contenu d'une structure XML par défaut, Tencent pensera qu'il n'est pas égal à la valeur echostr, et il sera jugé comme un. échec de configuration. Pour ce faire, vous devez utiliser la méthode Blog.valueOf pour la convertir directement en informations textuelles. La troisième étape consiste à configurer Site.com pour permettre l'accès du réseau public à cette URL. La classe force.com et les pages Web nécessitent une authentification de l'utilisateur par défaut avant de pouvoir y accéder. Cependant, nous pouvons activer l'accès du réseau public à cette URL via le site. .com. Pour ce faire, nous devons d'abord créer un nom de domaine, entrez Développer->Sites, entrez le nom de domaine que vous souhaitez créer, par exemple, le nom de domaine de l'auteur est johnson0001 :

http:/ /johnson0001-developer-edition.ap1.force.com

Une fois la création réussie, l'étape suivante consiste à créer le site, cliquez sur le bouton Nouveau :

Configuration en arrière-plan de la série de développement Force.com WeChat

Dans l'écran de saisie des informations du site suivant, entrez le libellé du site, le nom du site et sélectionnez n'importe quelle page comme " " Page d'accueil du site actif " (il n'est pas nécessaire de créer une page Web ici, choisissez-en simplement une) , laissez les autres options inchangées, cliquez sur le bouton "Enregistrer" :

Configuration en arrière-plan de la série de développement Force.com WeChat

À l'étape suivante, cliquez sur le bouton "Paramètres d'accès public" à l'écran,

Configuration en arrière-plan de la série de développement Force.com WeChat

Recherchez "Activer l'accès aux classes Apex" sur l'écran suivant, cliquez sur le bouton Modifier

Configuration en arrière-plan de la série de développement Force.com WeChat

Ajoutez la classe WeChatRestController à la liste de droite , ce qui permettra à la classe de prendre en charge l'accès public anonyme :

Configuration en arrière-plan de la série de développement Force.com WeChat

Enfin, revenez à la page d'accueil des sites et cliquez sur le bouton « Activer » pour activer le site. peut accéder à l'interface que nous avons développée via l'URL suivante (notez que cela peut prendre quelques minutes pour que l'URL prenne effet) :

https://johnson0001-developer-edition.ap1.force .com/services /apexrest/WeChatRest

La quatrième étape consiste à configurer le backend de Tencent. En mode développement, entrez cette URL, entrez n'importe quel jeton et cliquez sur le bouton de soumission. Si Tencent demande le succès, cela signifie le succès. Configuration complète :

Configuration en arrière-plan de la série de développement Force.com WeChat

Vérifier l'algorithme Echostr de l'URL : 1. Combinez le jeton (la valeur configurée par l'utilisateur dans le backend de Tencent), l'horodatage (la valeur d'horodatage transmise lorsque Tencent demande l'URL), le nonce (demandes de Tencent l'URL) La valeur nonce transmise) est classée par ordre alphabétique ; 2. Après arrangement, elle est fusionnée en une chaîne ; 3. Le résultat de la conversion de cette chaîne via l'algorithme sha1 si normal est la valeur de echostr

Plus Pour les articles liés à la configuration en arrière-plan de la série de développement Force.com WeChat, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn