1. 程式人生 > >php 實戰 微信公眾號 開發(獲取使用者資訊)

php 實戰 微信公眾號 開發(獲取使用者資訊)

PHP 微信開發(獲取使用者資訊)

獲取使用者資訊的大致演算法是

使用者授權登入第三方網站,

重點:scope引數:

snsapi_basic 靜默登入,不需要使用者授權,只能獲取到openid;

snsapi_userinfo ,需要使用者點選授權,能獲取到openid和所有使用者資訊;

第一步:先獲取使用者的code值;
第二步:根據code值去獲取access_token,每次請求的值都不一樣,如果沒有使用,每五分鐘更新一次;
第三步:根據access_token獲取使用者資訊;

1.獲取code程式碼實現:

這裡寫圖片描述

這裡寫圖片描述

#getcode.php

if(isset
($_SESSION['user'])){ print_r($_SESSION['user']); exit; } $appid='wx1d7c6fcd6131143b3'; $redirect_url="http://www.antfortune.vip/callback.php"; $scope='snsapi_userinfo';//獲取的方式; $url='https://open.weixin.qq.com/connect/oauth2/authorize?'
appid='.$appid.'&redirect_uri='.urlencode($redirect_url).'&response_type=code&scope='.$scope.'&state=123#wechat_redirect'; header("Location:".$url);

2、根據code獲取access_token和openid

#getOpenid.php

<?php
//獲取使用者openid
$appid="your appid";
$appsecret="your appsecret"
; $code=$_GET['code']; function getOpenID($appid,$appsecret,$code){ $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=". $appsecret."&code=".$code."&grant_type=authorization_code"; $weixin=file_get_contents($url);//通過code換取網頁授權access_token $jsondecode=json_decode($weixin); //對JSON格式的字串進行編碼 $array = get_object_vars($jsondecode);//轉換成陣列 $openid = $array['openid'];//輸出openid return $openid; } echo getOpenID($appid,$appsecret,$code);