首頁 > 後端開發 > php教程 > PHP之微信服務號如何取得openid

PHP之微信服務號如何取得openid

little bottle
發布: 2023-04-06 12:24:02
轉載
3482 人瀏覽過

本篇文章主要講述了用PHP實作微信服務號取得openid,具有一定參考價值,有興趣的朋友可以了解一下。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

public function tetst(){

  if(!isset($_GET['code'])){

          $APPID = $this->app_id;

          $ran = rand(1,100); //预防缓存

          $REDIRECT_URI = 'http://www.onedayoneclass.com/Home/Index/tetst?number='.$ran.''; //一定写上http://

          $scope='snsapi_userinfo';

          $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=wx'.'#wechat_redirect';

          //加缓存 随机数

          header("Location:".$url);

      }else{

        $appid = $this->app_id;

        $secret = $this->app_secret;

         $code = $_GET["code"];

         $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';

         $ch = curl_init();

         curl_setopt($ch,CURLOPT_URL,$get_token_url);

         curl_setopt($ch,CURLOPT_HEADER,0);

         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

         $res = curl_exec($ch);

         curl_close($ch);

         $json_obj = json_decode($res,true);

         //根据openid和access_token查询用户信息

         $access_token = $json_obj['access_token'];

         $openid = $json_obj['openid'];

         $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';

          

         $ch = curl_init();

         curl_setopt($ch,CURLOPT_URL,$get_user_info_url);

         curl_setopt($ch,CURLOPT_HEADER,0);

         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

         $res = curl_exec($ch);

         curl_close($ch);

          

         //解析json

         $user_obj = json_decode($res,true);

         $_SESSION['user'] = $user_obj;

         print_r($user_obj);

     }

}

登入後複製

結果:

相關教學:PHP影片教學

以上是PHP之微信服務號如何取得openid的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板