關注微信時獲取用戶信息

關注微信公共號時獲取用戶信息
只需獲取到 openID 便可經過 下面接口 獲取用戶信息 固然你也能夠經過網頁受權的方式拿到 openIDphp

1 接口調用請求說明
2 http請求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access\_token=ACCESS\_TOKEN&openid=OPENID&lang=zh\_CN

  

 1  private function _responseMsg() 
 2     {
 3         $post_str = file_get_contents('php://input');
 4         if (!empty($post_str)) {
 5             // 解析微信傳過來的 XML 內容
 6             $post_obj      = (array)simplexml_load_string($post_str, 'SimpleXMLElement', LIBXML_NOCDATA);
 7             $from_username = $post_obj['FromUserName'];
 8             $to_username   = $post_obj['ToUserName'];
 9             $MsgType       = $post_obj['MsgType'];    //消息類型,event
10             $Event         = $post_obj['Event'];      //事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)
11             $EventKey      = $post_obj['EventKey'];   //掃碼關注時 帶的信息

這裏的 $post_obj['FromUserName'] 就是 當前用戶的 openIDapi

 1 /**
 2      * [http_curl description]
 3      * @param  [type]  $url        [description]
 4      * @param  string  $method     [description]
 5      * @param  [type]  $postfields [description]
 6      * @param  array   $headers    [description]
 7      * @param  boolean $debug      [description]
 8      * @return [type]              [description]
 9      */
10     public function http_curl($url, $method = 'GET', $postfields = null, $headers = array(), $debug = false)
11     {
12         $ci = curl_init();
13         /* Curl settings */
14         curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
15         curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30);
16         curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
17         curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE);
18         curl_setopt($ci, CURLOPT_TIMEOUT, 30);
19         curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
20 
21         switch ($method) {
22             case 'POST':
23                 curl_setopt($ci, CURLOPT_POST, true);
24                 if (!empty($postfields)) {
25                     curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
26                     $this->postdata = $postfields;
27                 }
28                 break;
29         }
30         curl_setopt($ci, CURLOPT_URL, $url);
31         curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
32         curl_setopt($ci, CURLINFO_HEADER_OUT, true);
33 
34         $response = curl_exec($ci);
35         $http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
36 
37         if ($debug) {
38             echo "=====post data======\r\n";
39             var_dump($postfields);
40 
41             echo '=====info=====' . "\r\n";
42             print_r(curl_getinfo($ci));
43 
44             echo '=====$response=====' . "\r\n";
45             print_r($response);
46         }
47         curl_close($ci);
48         return array($http_code, $response);
49     }
相關文章
相關標籤/搜索