当前所在位置: 首页 > 生活常识 > 正文

微信公众号网页版网址(微信怎么解除授权过的网站)

2023-01-04 canyinms.com 【 字体:

微信公众号网页版网址,微信怎么解除授权过的网站。小编来告诉你更多相关信息。

在这之前先给大家一个我自定义的请求接口的函数,在下面的示例代码中请求接口用的都是这个函数

该函数的作用是,想接口发起请求,传递参数并返回接口返回的数据

(这个里面的代码就不做多解释了,如果大家想要了解可以去看一下php curl函数总结)

10

11

12

13

14

15

16

17

18

19

//自定义请求接口函数,$data为空时发起get请求,$data有值时发情post请求

function http_url($url,$data=null){

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);

if(!empty($data)){

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

$res = curl_exec($ch);

if(curl_errno($ch)){

echo \"error:\".curl_error($ch);

exit;

curl_close($ch);

return $res;

一、首先我们需要配置我们的公众号

2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权

3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可

二、用户同意授权,获取code

微信公众号网页版网址(微信怎么解除授权过的网站)

function Get_Code() //获取code

//构造请求地址

//跳转到请求地址,应为本省设置了回调地址,所以不需要使用file_get_content()来请求接口。

header(\"location:\" . $code_url);

exit;

三、通个获取到的code来或缺access_token和openid

接口:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

微信公众号网页版网址(微信怎么解除授权过的网站)

10

11

/**

* 通过获取到的code来获取access_token和openid

* $code为获取到的code

* 接口的参数注意换成自己的,如appid和secret

*/

function GetAccess_Token($code)

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

$res = http_url($get_access_token_url);

return json_decode($res, true);

四、判断access_token是否有效

接口:https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

微信公众号网页版网址(微信怎么解除授权过的网站)

10

11

12

13

14

15

/**

* 检查access_token是否有效

*

*/

function CkeckAccessToken($access_token, $openid)

$check_url = \"https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid\";

$res = http_url($check_url);

$result = json_decode($res, true);

if (isset($result[\'errmsg\']) && $result[\'errmsg\'] == 1) {

return 1; //access_token有效

} else {

return 0; //access_token无效

五、如果失效,刷新access_token

接口:https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

微信公众号网页版网址(微信怎么解除授权过的网站)

10

/**

* 如果获取到的access_token无效,通过refresh_token来刷新access_token

*接口的参数注意换成自己的

*/

function GetRefresh_Token($refresh_token)

$get_refresh_token_url = \"https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=appid&grant_type=refresh_token&refresh_token=$refresh_token\";

$res = http_url($get_refresh_token_url);

return json_decode($res, true);

六、获取用户信息

接口:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

微信公众号网页版网址(微信怎么解除授权过的网站)

/** * 获取用户基本信息 * */

function Get_User_Info($access_token, $openid){

$get_user_info = \"https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN\";

$res = http_url($get_user_info);

return json_decode($res, true);

获取到用户信息数据:

10

11

{

\"openid\":\" OPENID\",

\" nickname\": NICKNAME,

\"sex\":\"1\",

\"province\":\"PROVINCE\"

\"city\":\"CITY\",

\"country\":\"COUNTRY\",

\"headimgurl\": \"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46\",

\"privilege\":[ \"PRIVILEGE1\" \"PRIVILEGE2\" ],

\"unionid\": \"o6_bmasdasdsad6_2sgVt7hMZOPfL\"

微信公众号网页版网址(微信怎么解除授权过的网站)

下面上完整代码:

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

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

<?php

//跳转第三方页面,获取用户基本信息

// 这是请求页面也是code的回调页面

session_start(); //启动session

if (isset($_GET[\'code\'])) { //判断是否有code传过来,如果没有调用函数请求code

$res = GetAccess_Token($_GET[\'code\']); //使用code获取access_token和openid

if (CkeckAccessToken($res[\'access_token\'], $res[\'openid\']) == 0) { //判断access_token是否有效,如果无效获取新的access_token

$res = GetRefresh_Token($res[\'refresh_token\']); //或缺新的access_token

$userinfo = Get_User_Info($res[\'access_token\'], $res[\'openid\']); //获取用户信息

$_SESSION[\'userinfo\'] = $userinfo; //将用户信息存入session中

$next_url = \'http://web/index.php\'; //下一个页面地址

header(\"location:\" . $next_url); //获取到信息后跳转到其他页面

exit;

} else {

//获取code

Get_Code();

function Get_Code() //获取code{

header(\"location:\" . $code_url);

exit;

/**

* 通过获取到的code来获取access_token和openid

*/

function GetAccess_Token($code){

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

$res = http_url($get_access_token_url);

return json_decode($res, true);

/**

* 检查access_token是否有效

*/

function CkeckAccessToken($access_token, $openid){

$check_url = \"https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid\";

$res = http_url($check_url);

$result = json_decode($res, true);

if (isset($result[\'errmsg\']) && $result[\'errmsg\'] == 1) {

return 1; //access_token有效

} else {

return 0; //access_token无效

/**

* 如果获取到的access_token无效,通过refresh_token来刷新access_token

*/

function GetRefresh_Token($refresh_token){

$get_refresh_token_url = \"https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=appid&grant_type=refresh_token&refresh_token=$refresh_token\";

$res = http_url($get_refresh_token_url);

return json_decode($res, true);

/**

* 获取用户基本信息

*/

function Get_User_Info($access_token, $openid){

$get_user_info = \"https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN\";

$res = http_url($get_user_info);

return json_decode($res, true);}

//自定义请求接口函数,$data为空时发起get请求,$data有值时发起post请求

function http_url($url,$data=null){

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);

if(!empty($data)){

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

$res = curl_exec($ch);

if(curl_errno($ch)){

echo \"error:\".curl_error($ch);

exit;

curl_close($ch);

return $res;

更多技巧请《转发 + 关注》哦!

阅读全文
相关推荐

男子越狱29年被抓时在学校当保安 担任保安队长

男子越狱29年被抓时在学校当保安 担任保安队长
12月29日,湖南攸县警方通报一名越狱潜逃29年的逃犯被抓获,1991年何某青因犯强奸罪被判刑六年,1993年在攸县网岭监狱服刑期间脱逃,被列为网上在逃人员。2022年12月,攸县民警获得线索,广州市某学校发现疑似何某青踪迹,警方赶赴广州研判确认男子正是潜逃2

男生考研分到高中母校被班主任监考 幸运又惊喜

男生考研分到高中母校被班主任监考 幸运又惊喜
高考是人生的第一大考,但除了高考外,考研也备受学生重视。为了不影响考试,能够在考场上正常发挥,家长们鼎力相助,学生们也意识到了竞争的激烈以及学历的重要性。经过努力学习,没日没夜的备考,考研党们也终于迎来了研究生考试初试,不知道各位考生是否做好了充分的准备,相信

贝利去世 直击医院送别现场 大批球迷前往医院悼念

贝利去世 直击医院送别现场 大批球迷前往医院悼念
埃德松·阿兰特斯·多·纳西门托,又名贝利,出生于巴西特雷斯科拉松伊斯,巴西著名足球运动员,司职前锋,曾被国际足联誉为“球王”。1957年,贝利入选巴西国家队,代表巴西队参赛92场打进77球,夺得1958、1962、1970年三届世界杯冠军,为巴西永久保留雷米特

美国动物园将归还大熊猫丫丫和乐乐 结束20年的租借期

美国动物园将归还大熊猫丫丫和乐乐 结束20年的租借期
据路透社报道,美国田纳西州孟菲斯动物园当地时间12月21日宣布,将把旅美大熊猫丫丫和乐乐归还中国,结束20年的租借期。在宣布这一消息之前,保护动物组织批评孟菲斯动物园对大熊猫“丫丫”和“乐乐”提供的照顾不足。动物保护人士对将大熊猫归还中国表示支持,认为两只大熊

南极洲65%物种面临消失风险 帝企鹅风险居首位

南极洲65%物种面临消失风险 帝企鹅风险居首位
据美国有线电视新闻网(CNN)当地时间12月22日报道,一项发表在《科学公共图书馆·生物学》杂志上的研究认为,如果不能控制导致全球变暖的化石燃料的排放,南极洲65%的本土物种可能会在21世纪末消失,其中帝企鹅面临的消失风险居首位。最新数据表明,南极洲海冰目前的

侃爷前经理人称侃爷已失联数周 无法取得联系

侃爷前经理人称侃爷已失联数周 无法取得联系
12月27日,据外媒报道,侃爷前业务经理在采访时称,侃爷已经失联数周,无法与他取得联系,迄今为止没有任何消息。据悉,侃爷曾在2020年竞选美国总统,但最终败选,并展望2024年再次参加选举。据报道称,侃爷正在计划2024年的总统竞选,并发布了一段视频,与此同时

沙特队长等两员大将伤退告别世界杯 爆冷也付出了代价

沙特队长等两员大将伤退告别世界杯 爆冷也付出了代价
北京时间11月22日,世界杯小组赛C组第1轮,沙特爆冷2-1逆转战胜阿根廷。11月24日,从卡塔尔多哈传来消息,在比赛中受伤的两名沙特队球员沙赫拉尼、法拉杰已确认退出本届世界杯,这对于沙特队余下赛事的竞争,无疑造成了不利影响。11月22日,在当场比赛的最后时刻

内马尔出场79分钟被侵犯9次 退场后伤心不已

内马尔出场79分钟被侵犯9次 退场后伤心不已
北京时间11月25号,在2022世界杯小组赛G组的比赛中,巴西队以2-0的成绩战胜了塞尔维亚队,拿下了卡塔尔世界杯的开门红。在这场比赛中,巴西队的当家球星内马尔受伤被换下,下场后,内马尔在替补席上拉起球衣掩面落泪。内马尔·达·席尔瓦·桑托斯·儒尼奥尔(Neym

日本动漫神预言 足球小将表情包疯传 引起球迷们热议

日本动漫神预言 足球小将表情包疯传 引起球迷们热议
北京时间11月23日,卡塔尔世界杯小组赛继续进行,德国遭遇爆冷。在上半场,德国凭借着点球以1-0的成绩领先,但是到了下半场,德国队浪费了多次机会,日本实现逆转,球队在10分钟之内连进两球,最终球队以2-1战胜德国。在赛前,社交媒体上的一张日本动漫《足球小将》的

世界杯又一队出局 克罗地亚4:1大比分淘汰加拿大

世界杯又一队出局 克罗地亚4:1大比分淘汰加拿大
北京时间11月27日晚-28日凌晨,世界杯小组赛第二轮又一个比赛日结束了,加拿大队成为了继卡塔尔队之后又一提前出局的球队,德国队终于1-1拿到积分了,日本队遗憾输球,被誉为“欧洲红魔”的比利时更是轰然塌房。日本队vs哥斯达黎加:0-1,遗憾败北。首轮日本队以2
本文Tag