Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie PHP, um eine API-Schnittstelle für öffentliche WeChat-Konten zu erstellen

Verwenden Sie PHP, um eine API-Schnittstelle für öffentliche WeChat-Konten zu erstellen

PHPz
PHPzOriginal
2023-05-13 12:01:351194Durchsuche

Im heutigen Internetzeitalter sind offizielle WeChat-Konten für immer mehr Unternehmen zu einem wichtigen Marketingkanal geworden. Wenn Sie möchten, dass Ihr offizielles WeChat-Konto mehr Funktionen implementiert, müssen Sie häufig entsprechende Schnittstellen schreiben. In diesem Artikel wird die PHP-Sprache als Beispiel verwendet, um vorzustellen, wie eine API-Schnittstelle für ein öffentliches WeChat-Konto erstellt wird.

1. Vorbereitung

Bevor der Entwickler die API-Schnittstelle für öffentliche WeChat-Konten schreibt, muss er über ein öffentliches WeChat-Konto verfügen und eine Entwicklerberechtigung für die öffentliche WeChat-Plattform-Schnittstelle beantragen. Nachdem die Anwendung erfolgreich war, können Sie die entsprechende Entwickler-AppID und das AppSecret erhalten.

Zweitens müssen Sie auch über grundlegende Programmierkenntnisse in der PHP-Sprache verfügen und mit den Aufrufmethoden der API-Schnittstelle im Zusammenhang mit der Entwicklung öffentlicher WeChat-Konten vertraut sein.

2. WeChat-Zugriffstoken erhalten

Bevor wir relevante Informationen von Benutzern öffentlicher WeChat-Konten über die API-Schnittstelle erhalten, müssen wir zunächst das Zugriffstoken erhalten. Der Zugriffstoken ist eine Zeichenfolge, die die Identität des offiziellen WeChat-Kontos darstellt. Verschiedene Zugriffstoken haben unterschiedliche Berechtigungen.

Die Schnittstellenadresse zum Erhalten des WeChat-Zugriffstokens lautet https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET. APPID und APPSECRET sind die AppID bzw. das AppSecret, die bei der Beantragung von Entwicklerschnittstellenberechtigungen abgerufen werden.

Wir können HTTP-Anfragen über die cURL-Erweiterungsbibliothek von PHP senden, um den Wert des Zugriffstokens zu erhalten. Der spezifische Code lautet wie folgt:

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. Verwenden Sie die WeChat-API-Schnittstelle, um Benutzerinformationen zu erhalten

Nachdem wir das WeChat-Zugriffstoken erhalten haben, können wir die von bereitgestellte API-Schnittstelle verwenden die offene Plattform WeChat, um Benutzerinformationen zu erhalten. Verschiedene API-Schnittstellen können Informationen unterschiedlicher Granularität abrufen. Hier nehmen wir das Abrufen grundlegender Benutzerinformationen.

Die Schnittstellenadresse für die Verwendung der WeChat-API-Schnittstelle zum Abrufen grundlegender Benutzerinformationen lautet https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN . Unter diesen ist ACCESS_TOKEN das zuvor erhaltene Zugriffstoken, OPENID ist die OpenID des Zielbenutzers und lang ist die Sprachversion.

Ähnlich können wir HTTP-Anfragen über die cURL-Erweiterungsbibliothek von PHP senden, um grundlegende Benutzerinformationen zu erhalten. Der spezifische Code lautet wie folgt:

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. In die API-Schnittstelle integrieren und testen

Schließlich integrieren wir den zuvor geschriebenen Code zum Erhalten des Zugriffstokens und der Benutzerinformationen in eine API Schnittstelle. Die API-Schnittstelle kann mit jedem Webentwicklungs-Framework implementiert werden. Hier nehmen wir das Lumen-Mikroframework.

// 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;
}

Starten Sie die Lumen-Anwendung und testen Sie die API-Schnittstelle:

php -S localhost:8000 -t public

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

Das Obige ist der vollständige Prozess der Verwendung von PHP zum Erstellen der API-Schnittstelle für das öffentliche WeChat-Konto. Durch die oben genannten Schritte können wir auf einfache Weise die grundlegenden Informationen von WeChat-Benutzern abrufen, um weitere Funktionen auf dem offiziellen WeChat-Konto zu implementieren.

Das obige ist der detaillierte Inhalt vonVerwenden Sie PHP, um eine API-Schnittstelle für öffentliche WeChat-Konten zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn