Heim  >  Artikel  >  Backend-Entwicklung  >  Anwendungsbeispiel der WeChat-Datenstatistikschnittstelle in der PHP-Version

Anwendungsbeispiel der WeChat-Datenstatistikschnittstelle in der PHP-Version

墨辰丷
墨辰丷Original
2018-06-01 09:52:561226Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung der PHP-Version der WeChat-Datenstatistikschnittstelle vor und analysiert die Funktionen der PHP-WeChat-Datenstatistikschnittstelle und die damit verbundenen Verwendungsfähigkeiten in Form von Beispielen

PHP-Version der WeChat-Datenschnittstelle ist eigentlich sehr einfach zu verwenden. Diese Funktion war in der vorherigen Version nicht verfügbar, wurde aber in späteren Versionen hinzugefügt. Schauen wir uns ein Beispiel der PHP-Version der WeChat-Datenstatistikschnittstelle an:

WeChat im Januar Am 6. wurde ein neues Datenanalyse-Schnittstellenportal veröffentlicht:

Bitte beachten Sie:

1. Öffentliches Konto auf der Schnittstellenseite. Die Datendatenbank speichert nur Daten nach dem 1. Dezember 2014. Auch wenn sie gefunden werden, handelt es sich um nicht vertrauenswürdige Daten.

Entwickler sind eingeladen, nach dem Aufrufen der Schnittstelle Daten in einer eigenen Datenbank zu speichern, was den Zugriff des nächsten Benutzers beschleunigt und unnötige Verluste bei Schnittstellenaufrufen auf der WeChat-Seite reduziert.

Benutzeranalysedatenschnittstelle bezieht sich auf die Schnittstelle, die zum Abrufen von Benutzeranalysedaten im Datenstatistikmodul der offiziellen Website der öffentlichen Plattform verwendet wird. Die spezifische Schnittstellenliste lautet wie folgt (es gibt noch keine Benutzerattributdatenschnittstelle). ):

Maximale Zeitspanne bezieht sich auf den maximalen Zeitbereich, in dem während eines Schnittstellenaufrufs Daten abgerufen werden können. Die maximale Zeitspanne beträgt beispielsweise 7, was bedeutet, dass bis zu 7 Tage lang Daten abgerufen werden können einmal. Bitte ermitteln Sie den tatsächlichen Wert von access_token über „Get access_token“.

Beschreibung der Schnittstellenaufrufanforderung

Benutzeranalysedatenschnittstelle (einschließlich aller Schnittstellen in der Schnittstellenliste) muss das folgende Beispieldatenpaket an die entsprechende Schnittstellenaufrufadresse senden:

{
  "begin_date": "2014-12-02",
  "end_date": "2014-12-07"
}

Anleitung zum Aufruf von Parametern:

Nach einem flüchtigen Blick Es befindet sich derzeit noch in der internen Testphase, aber da es sich um eine neue Schnittstelle handelt, müssen wir die von dieser Website verwendete erweiterte WeChat-Schnittstellenklasse verbessern. Ändern Sie es wie folgt:

Fügen Sie der Klasse neue Schnittstellenkonstanten hinzu:

API_DATA_CUBE_URL = 'https://api.weixin.qq.com/datacube',
API_TYPE_DATA = 'datacube'

Ändern Sie die Aufrufmethode: Weil hierfür der URL-Parameter erforderlich ist Nur das Zugriffstoken, folgen Es ist das gleiche wie beim vorherigen JSON, aber Sie müssen dem Urteil das Datacube-Urteil hinzufügen (Hinweis: Der Kommentar wurde bereits erklärt):

public function call($api_name, $params = array(), $type = self::GET, $api_type = self::API_TYPE_CGI) {
    //加入datacube后,用switch来组接口URL
    switch(true) {
      case $api_type == self::API_TYPE_PAY :
        $url = self::PAY_URL.$api_name;
        break;
      case $api_type == self::API_TYPE_DATA:
        $url = self::API_DATA_CUBE_URL.$api_name;
        break;
      default :
        $url = self::API_URL_PREFIX.$api_name;
    }
    if (in_array($api_name, self::$_no_need_token_apis)) {
      $res = $this->request($url, $params, $type);
      if ($res) {
        return $res;
      }
    }
    $this->_access_token = $this->getAccessToken();
    if ($this->_access_token) {
      //加多个or判断带上access_token
      if ($type == self::JSON || $api_type == self::API_TYPE_DATA) {
        $url = $url.'?access_token='.$this->_access_token;
      } else {
        $params['access_token'] = $this->_access_token;
      }
      $res = $this->request($url, $params, $type);
      if ($res) {
        return $res;
      }
    }
    return false;
}

Schließlich ruft die CLI-Methode eine getinterfacesummary-Schnittstelle im Dokument Debugging auf (Hinweis: POST-Methode zur Schnittstelle):

if (isset($argc) && $argc >= 1 && $argv[0] == __FILE__) {
  $client = new WechatJSON(array(
    WechatJSON::APP_ID => 'wx78sfsd023744d51',
    WechatJSON::APP_SECRET => '9ba3476db1fsfsff512esf2f630fb9',
  ));
  $res = $client->call('/getinterfacesummary', array(
    'begin_date' => '2014-12-01',
    'end_date' => '2014-12-31'
  ), WechatJSON::POST, WechatJSON::API_TYPE_DATA);
  if (!$res) {
    var_dump($client->_error);
  }
  var_dump($res);
}

Das laufende Ergebnis ist dass, obwohl die API nicht autorisiert ist (schließlich haben die Partner mit den Bedingungen für interne Tests die Informationen, warten Sie einfach auf diejenigen mit öffentlichen Konten):

Postscript, in Zukunft werde ich eine Linux-Aufgabe erstellen den Hintergrund selbst von Zeit zu Zeit (eine Woche oder 30 Tage) laufen zu lassen, da einige Datenstatistikschnittstellen 7 Tage und andere 30 Tage lang sind. Auf diese Weise werden die Daten abgerufen und dann in die Datenbanktabelle geschrieben, um grafische Berichte zu erstellen. Dadurch ersparen Sie sich die Mühe, einige Statistiken zu protokollieren, die der Beamte bereits für Sie protokolliert hat!

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

phpMethode zur Kapselung einer MySQL-Klasse basierend auf dem Singleton-Modus

thinkPHP Methoden zum Ausführen von Transaktionen im Framework

PHP+MySQL verwendet mysql_num_rows, um die Fuzzy-Abfragebuch-Informationsfunktion zu implementieren

Das obige ist der detaillierte Inhalt vonAnwendungsbeispiel der WeChat-Datenstatistikschnittstelle in der PHP-Version. 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