ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して WeChat パブリック アカウント API インターフェイスを構築する

PHP を使用して WeChat パブリック アカウント API インターフェイスを構築する

PHPz
PHPzオリジナル
2023-05-13 12:01:351138ブラウズ

今日のインターネット時代において、WeChat 公式アカウントはますます多くの企業にとって重要なマーケティング チャネルとなっています。 WeChat 公式アカウントにさらに多くの機能を実装したい場合は、多くの場合、対応するインターフェイスを作成する必要があります。この記事では、例として PHP 言語を使用して、WeChat パブリック アカウント API インターフェイスを構築する方法を紹介します。

1. 準備

WeChat パブリック アカウント API インターフェイスを作成する前に、開発者は WeChat パブリック アカウントを取得し、WeChat パブリック プラットフォームで開発者インターフェイスの権限を申請する必要があります。アプリケーションが成功すると、関連する開発者の AppID と AppSecret を取得できます。

次に、基本的な PHP 言語プログラミングの知識と、WeChat パブリック アカウントの開発に関連する API インターフェイス呼び出しメソッドに精通している必要があります。

2. WeChat アクセス トークンの取得

API インターフェイスを通じて WeChat パブリック アカウント ユーザーの関連情報を取得する前に、まずアクセス トークンを取得する必要があります。アクセス トークンは WeChat 公式アカウントの ID を表す文字列であり、アクセス トークンが異なれば権限も異なります。

WeChat アクセス トークンを取得するためのインターフェイス アドレスは、https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET です。 APPID と APPSECRET はそれぞれ、開発者インターフェイスの権限を申請するときに取得される AppID と AppSecret です。

PHP の cURL 拡張ライブラリを通じて HTTP リクエストを送信し、アクセス トークンの値を取得できます。具体的なコードは次のとおりです:

function getAccessToken($appid, $appsecret) {
  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  $access_token = $json["access_token"];
  return $access_token;
}

3. WeChat API インターフェイスを使用してユーザー情報を取得します

WeChat アクセス トークンを取得した後、WeChat オープン プラットフォームが提供する API インターフェイスを使用できます。ユーザー情報を取得するため。 API インターフェースによって取得できる情報の粒度は異なりますが、ここでは基本的なユーザー情報の取得を例に説明します。

WeChat API インターフェイスを使用して基本的なユーザー情報を取得するためのインターフェイス アドレスは、https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN です。このうち、ACCESS_TOKENは先ほど取得したアクセストークン、OPENIDは対象ユーザーのopenid、langは言語バージョンです。

同様に、PHP の cURL 拡張ライブラリを通じて HTTP リクエストを送信して、基本的なユーザー情報を取得できます。具体的なコードは次のとおりです:

function getUserInfo($access_token, $openid) {
  $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  return $json;
}

4. API インターフェースに統合してテスト

最後に、先ほど作成したアクセス トークンとユーザー情報を取得するコードを API インターフェースに統合します。 API インターフェイスは任意の Web 開発フレームワークを使用して実装できますが、ここでは例として Lumen マイクロフレームワークを取り上げます。

// routes/web.php
$app->get('/wechat-api/user-info/{openid}', function($openid) use ($app) {
  $appid = 'your_appid';
  $appsecret = 'your_appsecret';
  $access_token = getAccessToken($appid, $appsecret);
  $user_info = getUserInfo($access_token, $openid);
  return response()->json($user_info);
});

// app/functions.php
function getAccessToken($appid, $appsecret) {
  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  $access_token = $json["access_token"];
  return $access_token;
}

function getUserInfo($access_token, $openid) {
  $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  return $json;
}

Lumen アプリケーションを開始し、API インターフェイスをテストします。

php -S localhost:8000 -t public

http://localhost:8000/wechat-api/user-info/your_openid

上記は、PHP を使用して WeChat パブリック アカウント API インターフェイスを構築する完全なプロセスです。上記の手順により、WeChat ユーザーの基本情報を簡単に取得して、WeChat 公式アカウントにさらに多くの機能を実装することができます。

以上がPHP を使用して WeChat パブリック アカウント API インターフェイスを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。