淘宝开发平台获取access_token(sessionkey)

C#代码:

 public HttpResponseMessage GetAccessToken(string code,string appkey, string appsecret)
        {
            WebUtils webUtils = new WebUtils();
            IDictionary<string, string> param = new Dictionary<string, string>();
            string url = "https://oauth.taobao.com/token";
            string responseMsg = "";
            try
            {
                param.Add("grant_type", "authorization_code");
                param.Add("code", code);
                param.Add("client_id", appkey);
                param.Add("client_secret", appsecret);
                param.Add("redirect_uri", "");
                param.Add("view", "web");
                string response = webUtils.DoPost(url, param,null);
                CacheManager.Put("AccessToken", response, new TimeSpan(1, 0, 0));
                responseMsg = "操作成功";
            }
            catch (Exception)
            {
                responseMsg = "操作失败";
            }

            return new HttpResponseMessage
            {
                Content = new StringContent(responseMsg, Encoding.UTF8, "application/xml")
            };
        }

post方法:
 public string DoPost(string url, IDictionary<string, string> textParams, IDictionary<string, string> headerParams)
        {
            HttpWebRequest req = GetWebRequest(url, "POST", headerParams);
            req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";

            byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(textParams));
            System.IO.Stream reqStream = req.GetRequestStream();
            reqStream.Write(postData, 0, postData.Length);
            reqStream.Close();

            HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
            Encoding encoding = GetResponseEncoding(rsp);
            return GetResponseAsString(rsp, encoding);
        }

 

 

转载于:https://www.cnblogs.com/FollowWinds/p/8745579.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 Java 代码获取用户手机号的示例: 首先,你需要获取 access_token。可以参考微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html 然后,你可以使用以下代码来获取用户手机号: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class GetPhoneNumber { public static void main(String[] args) { String accessToken = "ACCESS_TOKEN"; // 替换成你自己的 access_token String encryptedData = "ENCRYPTED_DATA"; // 用户数据的加密数据,需要前端传递过来 String iv = "IV"; // 加密算法的初始向量,需要前端传递过来 String sessionKey = "SESSION_KEY"; // 用户数据的会话密钥,需要前端传递过来 try { String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken; String data = "encrypted_data=" + URLEncoder.encode(encryptedData, "UTF-8") + "&iv=" + URLEncoder.encode(iv, "UTF-8") + "&session_key=" + URLEncoder.encode(sessionKey, "UTF-8"); HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.getOutputStream().write(data.getBytes("UTF-8")); InputStream inputStream = conn.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } reader.close(); inputStream.close(); conn.disconnect(); // 解析响应结果 System.out.println(response.toString()); } catch (IOException e) { e.printStackTrace(); } } } ``` 注意:这里使用了 POST 方法请求 API,需要将请求数据写入输出流中。同时,需要将请求参数中的加密数据、初始向量、会话密钥替换成前端传递过来的真实数据。 另外,由于获取用户手机号的 API 需要企业微信授权,需要在后台配置相应的权限。具体请参考微信官方文档:https://work.weixin.qq.com/api/doc/90000/90135/90930

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值