Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo obtener el openid de usuario del enlace de WeChat

Cómo obtener el openid de usuario del enlace de WeChat

Cómo obtener el openid de usuario del enlace WeChat

:jingyan.baidu./article/48206aeae7aa24216ad6b3f3.

Compare el menú Ver y haga clic en el menú

{

"type": "Clic",

"Nombre": "Canción del día",

"key": "V1001_TODAY_MUSIC"

} ,

{

"tipo": "vista",

"nombre": "Perfil del cantante",

"url" :::baidu./"

}

Como se puede ver en lo anterior, el menú de tipo de clic tiene un atributo clave, mientras que el menú de tipo de vista no. Tiene un atributo clave, que es el mismo que el atributo de URL correspondiente. El menú de tipo de vista no tiene un atributo clave, por lo que es imposible determinar si el usuario hizo clic en el elemento de menú de tipo de vista en el fondo de la cuenta pública y no hay forma de saber qué usuario hizo clic en el elemento de menú de tipo de vista. Tencent ha abierto una interfaz avanzada, utilizando OAuth2. La interfaz de autorización web .0 se puede obtener desde openid. A continuación se presentará el método para obtener información básica del usuario a través de la autorización de la página web

Interfaz de autorización web.

Autorización web para obtener información básica del usuario

Una vez que la cuenta de servicio obtiene la interfaz avanzada, snsapi_base y snsapi_userinfo se incluyen en el parámetro de alcance de forma predeterminada. Aquí usamos snsapi_base para obtener el openid. y agregue la URL anterior Cambiar a

Configure el nombre de dominio de la página de devolución de llamada de autorización

Ingrese a WeChat. p>

Después de ingresar al backend de la plataforma pública WeChat, ingrese Servicios - Mis servicios, busque la Autorización web OAuth2.0,

Haga clic en Modificar a la derecha

La especificación de configuración del nombre de dominio de devolución de llamada de autorización es el nombre de dominio completo y no se incluye.

Aquí completamos la dirección IP anterior, 192.168.1.1

Autorización de usuario y obtenemos el código, reemplazamos el menú con

{

"type":"view",

"name":"Perfil del cantante",

"url":":open.weixin.qq./connect/oauth2/ ¿autorizar? appid=wxcd983566d32442bc&redirect_uri=:192.168.1.1/weixin/weixin.do?action=viewtest& Response_type=code&scope=snsapi_base&state=1#wechat_redirect"

}

Operación de salto de menú

String code = request.getParameter("code"); El código que queremos

Descripción del código: el código se utiliza como ticket para aess_token y cada vez se llevará un código diferente. el usuario está autorizado. El código solo se puede usar una vez y caducará después de 5 minutos sin uso.

Código que usa aess_token

El alcance de la autorización web es snsapi_base. En este paso, cuando obtenga la autorización web aess_token, también obtendrá openid. Esta es la autorización web snsapi_base. final del proceso.

Método para crear la página aess_token de autorización de red de intercambio:

:api.weixin.qq./sns/oauth2/aess_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

:api.weixin.qq./sns/oauth2/aess_token? type=authorization_code

Devuelve datos json después de corregir

{ "aess_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":" REFRESH_TOKEN",

"openid": "OPENID",

"alcance ":"SCOPE"

}

En este punto, hemos obtenido con éxito el openid del usuario. ¿Cómo obtiene WeChat el openid del usuario en php?

1 Para obtener el openid del usuario, la autorización web debe realizarse a través de OAuth2.0. Después de completar la autorización de la página web a través de OAuth2.0, el openid del usuario se puede obtener a través de la página de autorización con el permiso del usuario. 2. ¿Cómo obtener el openid del usuario a través de la autorización de la página web OAuth2.0? Cómo obtener el openid del usuario en el desarrollo de WeChat

Actualmente hay dos formas de obtener el openid del usuario de WeChat: una es responder a un mensaje gráfico y expresar el openid del usuario como un enlace, y luego el usuario hace clic en enlace en el mensaje gráfico para abrir la página final. Después de que el enlace del mensaje abre la página final, la experiencia del usuario al hacer esto es muy, muy mala, y cada menú debe hacer esto. El segundo es llamar a la interfaz avanzada de la cuenta de servicio, pero la mayoría de nosotros usamos cuentas de suscripción; Cómo obtener el openid de un usuario de WeChat a través de js: actualmente, la cuenta del servicio WeChat puede obtener el openid del usuario de WeChat en la página web, mientras que la cuenta de suscripción solo puede abrir la página web a través de mensajes gráficos y transferir el openid del usuario por sí misma. . openid, actualmente hay dos formas de obtener el openid del usuario: una es responder al mensaje gráfico, obtener el openid del usuario en el enlace y luego el usuario hace clic en el enlace del mensaje gráfico para abrir la página final. es muy, muy malo, y cada menú debe hacer esto; el segundo es llamar a la interfaz de alto nivel de la cuenta de servicio, pero la mayoría de nosotros somos cuentas de suscripción. Respuesta: Actualmente, solo existen dos métodos para que las cuentas de servicio obtengan el openid del usuario en las páginas web. Las cuentas de suscripción solo pueden abrir páginas web a través de mensajes gráficos y pasar el openid del usuario.

Si la cuenta de suscripción puede hacer todo, ¿cuál es el punto de dividir la cuenta de suscripción y la cuenta de servicio? ¿Cuáles son los métodos para obtener el openid del usuario en WeChat?

Métodos/Pasos

Para obtener el openid, la autorización de la página web debe completarse a través de OAuth2.0 Después de completar la autorización de la página web. , con el permiso del usuario, el openid del usuario se puede obtener a través de la página de autorización

¿Cómo autorizar la página web a través de OAuth2.0? Debe solicitar funciones de interfaz avanzadas

Una vez aprobada la solicitud, también debe crear una página de autorización para guiar a los usuarios a obtener openid a través de la autorización.

¿Cómo inicia sesión automáticamente el desarrollador de WeChat para obtener el openid del usuario?

Por ejemplo, si coloca la votación en un menú personalizado y el usuario hace clic para votar, se puede obtener el openid a través del evento de menú personalizado o use la autorización web directamente. Esta autorización es solo para cuentas de servicio. ¿Puede WeChat obtener información del usuario según openid?

Método específico:

1 Configure el. Nombre de dominio de devolución de llamada de autorización web, como XXXt

2 Simule la página web de terceros de la cuenta pública: XXX./ getcodeurl.php

if(isset($_SESSION['usuario'])){

print_r($_SESSION['usuario']);

salir;

}

$ APPID='appid de la cuenta oficial de WeChat ';

$REDIRECT_URI=':XXX./callback.php'; 'snsapi_base';

$scope='snsapi_userinfo'; Se requiere autorización

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

header("Location:". $url);

>

3. Saltar a la web de terceros páginas Al transferir la URL, primero se obtiene el código de la solicitud, y luego se intercambian openid y aess_token de acuerdo con el código. Luego se puede llamar a la interfaz relevante de WeChat según openid y aess_token para consultar la información del usuario.

:XXX./callback.php

$appid = "appid de cuenta pública de WeChat"

$secret; = "Secreto de la aplicación de cuenta pública de WeChat";

$code = $_GET["code"]

$get_token_url = ':api.weixin.qq./sns/oauth2/ aess_token?appid='.$appid.'&secret='.$secret. '&código='.

$código.'&grant_type=autorización_código';

$ch = curl_init();

curl_set($ch,CURLOPT_URL,$get_token_url); $ch,CURLOPT_HEADER,0);

curl_set($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_set($ch, CURLOPT_CONNECTTIMEOUT, 10); res = curl_exec($ch);

curl_close($ch);

$json_obj = json_decode($res,true);

Según openid y aess_token Consultar información del usuario

$aess_token = $ json_obj['aess_token'];

$openid = $json_obj['openid'];

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

$ch = curl_init();

curl_set($ch,CURLOPT_URL,$get_user_info_url);

curl_set($ch,CURLOPT_ HEADER, 0);

curl_set($ch, CURLOPT_RETURNTRANSFER, 1 )

curl_set($ch, CURLOPT_CONNECTTIMEOUT, 10);

$res = curl_exec($ch); >

Analizar json

$user_obj = json_decode($res,true);

$_SESSION['user'] = $user_obj;

print_r ( $ user_obj);

?> Se requiere conversión de caracteres para obtener openid del avatar de usuario de WeChat

Método/paso

Para obtener openid, se debe obtener autorización web. completado a través de OAuth2.0, después de completar la autorización web, con el permiso del usuario, el openid del usuario se puede obtener a través de la página de autorización

¿Cómo obtener el openid a través de OAuth2.0? /p>

¿Cómo autorizar páginas web a través de OAuth2.0? Actualmente existen dos métodos. El primero es responder a un mensaje gráfico y poner el openid del usuario en el enlace. Luego, el usuario hace clic en el enlace del mensaje gráfico para abrir la página final. Cada menú Todos tenemos que hacer esto; el segundo es llamar a la interfaz de alto nivel de la cuenta de servicio, pero la mayoría de nosotros

Cómo obtener el openid de un usuario de WeChat

Hola. Según su descripción, si desea obtener el openid de un usuario de WeChat a través de js, su cuenta oficial debe pasar la certificación de WeChat (certificación paga, 300 yuanes por año), para que pueda implementar una interfaz en desarrollo avanzado. modo.