微信公众平台开发文档 获取用户基本信息
微信公众平台开发文档
获取用户基本信息
在微信公众平台中,公众号可以获得关注者的基本信息,这对于提供更好的服务和内容是非常重要的。通过获取用户基本信息,公众号可以知道用户的姓名、性别、地区等信息,从而能够更好地理解用户需求并提供相应的服务。
OpenID
在微信公众平台中,每个用户对每个公众号都有一个唯一的OpenID,这是加密后的微信号。通过OpenID,公众号可以获取用户基本信息。对于不同公众号,同一用户的openid是不同的。
获取用户基本信息接口
获取用户基本信息的接口是 `getUserInfo` 接口,它支持两种方式:通过 `GET` 请求和通过 `POST` 请求。
1. GET 请求通过 `GET` 请求获取用户基本信息,需要在 URL 中传递 `openid` 参数。例如:
```
`ACCESS_TOKEN` 是公众号的 access token, `OPENID` 是用户的 openid。
2. POST 请求通过 `POST` 请求获取用户基本信息,需要在请求体中传递 `openid` 参数。例如:
```json{
"access_token": "ACCESS_TOKEN",
"openid": "OPENID"
}
```
其中, `ACCESS_TOKEN` 是公众号的 access token, `OPENID` 是用户的 openid。
返回结果
获取用户基本信息接口会返回一个 JSON 对象,其中包含用户的基本信息。例如:
```json{
"openid": "OPENID",
"nickname": "NICKNAME",
"sex":1,
"province": "PROVINCE",
"city": "CITY",
"country": "COUNTRY",
"headimgurl": "HEADIMGURL"
}
```
其中, `openid` 是用户的 openid, `nickname` 是用户的昵称, `sex` 是用户的性别, `province`、 `city` 和 `country` 是用户的地区信息, `headimgurl` 是用户的头像 URL。
注意事项
获取用户基本信息接口需要在微信公众平台中配置好相关权限。否则,会返回错误结果。
此外,获取用户基本信息接口也需要注意以下几点:
* 获取用户基本信息接口只支持 HTTPS 请求。
* 获取用户基本信息接口不支持缓存。
* 获取用户基本信息接口可能会返回错误结果,如果用户的 openid 不正确或 access token 过期。
示例代码
下面是获取用户基本信息接口的示例代码:
```pythonimport requestsdef get_user_info(access_token, openid):
url = " params = {
"access_token": access_token,
"openid": openid }
response = requests.get(url, params=params)
if response.status_code ==200:
return response.json()
else:
return None 示例使用access_token = "ACCESS_TOKEN"
openid = "OPENID"
user_info = get_user_info(access_token, openid)
if user_info is not None:
print(user_info)
else:
print("获取用户基本信息失败")
```
```javaimport java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws Exception {
String access_token = "ACCESS_TOKEN";
String openid = "OPENID";
URL url = new URL(" HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setRequestProperty("access_token", access_token);
connection.setRequestProperty("openid", openid);
int responseCode = connection.getResponseCode();
if (responseCode ==200) {
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} else {
System.out.println("获取用户基本信息失败");
}
}
}
```
```csharpusing System;
using System.Net.Http;
using System.Text;
public class Main{
public static void Main(string[] args)
{
string access_token = "ACCESS_TOKEN";
string openid = "OPENID";
using (var client = new HttpClient())
{
var request = new HttpRequestMessage(HttpMethod.Get, $" var response = client.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
var responseBody = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(responseBody);
}
else {
Console.WriteLine("获取用户基本信息失败");
}
}
}
}
```
以上是获取用户基本信息接口的示例代码。