Nodejs WeChat パブリック アカウント開発の分析 - 1. WeChat パブリック アカウントにアクセスする
Apr 10, 2017 am 11:33 AMこの記事では、主にnodejs WeChatパブリックアカウント開発の詳細(xì)な説明を紹介します - 1. WeChatパブリックアカウントにアクセスすることは、困っている友人がそれを參照することができます
WeChatパブリックアカウントにアクセスすることは、開発の最初のステップです。すべては始まる 難しいけど、最初の一歩をしっかり踏み出せば道は広がる。
1. パブリック プラットフォーム テスト アカウントの使用
WeChat パブリック プラットフォームにログインする 多くの開発者は認(rèn)定された WeChat パブリック アカウントを持っていないため、より妥協(xié)的な方法は、パブリック プラットフォーム テスト アカウント を使用して機(jī)能をテストします。その利點(diǎn)は、認(rèn)証のしきい値に制限されることなく、WeChat 公式アカウントのほとんどの機(jī)能をテストできることです。 <code>公眾平臺測試帳號
來測試功能,其優(yōu)勢是能夠測試微信公眾號的絕大部分功能,不受認(rèn)證門檻的限制。
進(jìn)入測試賬號管理界面:
我們需要配置接口的信息,URL
和Token
是微信公眾平臺和本地開發(fā)服務(wù)建立連接的橋梁。
微信配置好后,掃面下方的測試號二維碼,即可以在手機(jī)上測試開發(fā)的功能。
2.驗證公眾號
一圖勝千言。接入公眾號時,微信公眾平臺需要驗證開發(fā)者的身份,向開發(fā)者填寫的URL發(fā)送一個GET請求,請求中包含4個參數(shù):signature
、<a href="http://www.miracleart.cn/wiki/1343.html" target="_blank">echo</a>str
、<a href="http://www.miracleart.cn/wiki/1268.html" target="_blank">time</a>stamp
和nonce
,收到該請求,我們需要做的事情:
將
token
、timestamp
和nonce
三個參數(shù)進(jìn)行字典排序;將加密后的字符串與
signature
進(jìn)行比較,如果相同,表示這個請求來自微信,我們直接原樣返回echostr的內(nèi)容,接入驗證成功。
3.搭建開發(fā)服務(wù)器
搭建開發(fā)服務(wù)器的方式有很多,如購買云服務(wù)器、使用花生殼、ngrok、localtunnel等。這里為了簡單起見采用localtunnel。先全局方式安裝localtunnel
,
npm install -g lt
啟動lt
lt --port 8080 //對外暴露8080端口,可端口號可自己隨便設(shè)定
4.編寫代碼
好了,現(xiàn)在開始編寫app.js的代碼:
'use strict' var Koa = require('koa'); var sha1 = require('sha1'); var config = { wechat:{ appID:'...', //填寫你自己的appID appSecret:'...', //填寫你自己的appSecret token:'...' //填寫你自己的token } }; var app = new Koa(); app.use(function *(next){ var token = config.wechat.token; var signature = this.query.signature; var nonce = this.query.nonce; var timestamp = this.query.timestamp; var echostr = this.query.echostr; var str = [token,timestamp,nonce].sort().join(''); //按字典排序,拼接字符串 var sha = sha1(str); //加密 this.body = (sha === signature)? echostr + '' : 'failed'; //比較并返回結(jié)果 }); app.listen(8080);
5.配置測試公眾號信息
代碼編寫完畢,現(xiàn)在開始正式配置啦。在終端中輸入lt --port 8080
啟動localtunnel,得到對外可訪問的URL
:
這個URL
填寫到測試賬號管理界面
中的URL
,Token
字段可隨意填寫,方便起見,就用wemovie
吧!
填寫完畢,點(diǎn)擊提交,發(fā)現(xiàn)驗證成功,恭喜!
注:
由于localtunnel不是很穩(wěn)定,所以可能一開始點(diǎn)擊
提交
提示的是黃條的配置失敗
,需要多點(diǎn)一兩次按鈕;每次重啟程序,都需要重啟localtunnel獲取新的
URL
テスト アカウント管理インターフェイスに入ります:
インターフェース、
URL
、および トークン
は、WeChat パブリック プラットフォームとローカル開発サービスを接続するブリッジです。 ????


signature
、 という 4 つのパラメータが含まれます。 <a href="http://www.miracleart.cn/wiki/1343.html" target="_blank">echo</a>str
、<a href="http://%20www.miracleart.cn/wiki/1268.html" target="_blank">タイム</a>スタンプ
とnonce
、このリクエストを受け取った後に行う必要があること: ??token
、timestamp
、および nonce
を並べ替えます。 li >??3 つの 文字列を 1 つの文字列に連結(jié)して、sha1 暗號化; ????signature
と比較します。同様にWeChatからのリクエストということなので、echostrの內(nèi)容をそのまま返すことでアクセス認(rèn)証は成功です。 ??????????3. 開発サーバーを構(gòu)築する???????? 開発サーバーを構(gòu)築するには、クラウドサーバーを購入する、ピーナッツシェル、ngrok、localtunnel を使用するなど、さまざまな方法があります。ここでは簡単にするために Localtunnel を使用します。まず localtunnel
をグローバルにインストールします??rrreee?? lt??rrreee????を開始します???????? さて、app.js コードを書き始めます:??rrreee???? 5. 公式アカウント情報???????? コードが記述され、正式な設(shè)定が始まります。ターミナルに lt --port 8080
と入力して localtunnel を開始し、外部からアクセス可能な URL
を取得します: ????
URL
は、テスト アカウント管理インターフェイス
の に入力されます。 code> >URL
、Token
フィールドは、便宜上、wemovie
を使用するだけで自由に入力できます。 ?????? 入力後、[送信] をクリックすると、検証が成功したことがわかります。おめでとうございます。 ????
- ?? localtunnel はあまり安定していないため、最初に
Submit
をクリックすると、Configuration failed
という黃色のバーが表示されます。 1 つまたは 2 つのボタンが必要です。プログラムを再起動するたびに、localtunnel を再起動して新しいURL
を取得し、再構(gòu)成する必要があります。 (これは、シンプルさを選択するために支払う代償です T_T)??????????これまでのところ、WeChat 公式アカウント開発への扉は開かれました。次に、nodejs WeChat 公式アカウント開発の旅を続けていきます??。
以上がNodejs WeChat パブリック アカウント開発の分析 - 1. WeChat パブリック アカウントにアクセスするの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます?;Q性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機(jī)能を備えているため、バックエンド フレームワークとして使用できます。

はい、Node.js はフロントエンド開発に使用でき、主な利點(diǎn)には、高性能、豊富なエコシステム、クロスプラットフォーム互換性が含まれます??紤]すべき點(diǎn)は、學(xué)習(xí)曲線、ツールのサポート、コミュニティの規(guī)模の小ささです。

Node.js には次のグローバル変數(shù)が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環(huán)境変數(shù): __dirname、__filename、__line、__column 定數(shù): unknown、null、NaN、Infinity、-Infinity

はい、Node.js はバックエンド開発言語です。これは、サーバー側(cè)のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

MySQL データベースに接続するには、次の手順に従う必要があります。 mysql2 ドライバーをインストールします。 mysql2.createConnection() を使用して、ホスト アドレス、ポート、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。 connection.query() を使用してクエリを?qū)g行します。最後に connection.end() を使用して接続を終了します。

Node.js は、次のプロジェクト タイプに適しています。 ネットワークおよびサーバー アプリケーション イベント駆動型アプリケーション リアルタイム アプリケーション データ集約型アプリケーション コマンドライン ツールとスクリプト 軽量マイクロサービス

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環(huán)境を準(zhǔn)備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構(gòu)成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。
