admin管理员组文章数量:1535372
腾讯开放平台的接入是非常麻烦的, open.qq,腾讯开放平台的文档很多很杂,社交功能的api接口也很多还有。我现在只接了他的登录跟支付。
一、登录。
登录相对来讲还是比较简单的,首先前端sdk要正确接入获取access_token 跟 openid ,然后需要一个https 方式的get请求来取得进一步的信息。
url :https://graph.qq/user/get_simple_userinfo?oauth_consumer_key=%s&access_token=%s&openid=%s&clientip=&oauth_version=2.a&scope=all
填写好自己应用的所有内容。https协议的java实现
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.HttpURLConnection;
import java.URL;
import java.util.Map;
import java.util.Map.Entry;
import javax.ssl.HostnameVerifier;
import javax.ssl.HttpsURLConnection;
import javax.ssl.SSLSession;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyhttpService {
private int read_time_out = 10000;
private Logger logger = LoggerFactory.getLogger(MyhttpService.class);
public MyhttpService() {
super();
}
public MyhttpService(int time_out) {
read_time_out = time_out;
}
public String doPost(String url, Map<String,String> params){
StringBuilder postData = new StringBuilder();
for(Entry<String,String> entry:params.entrySet()){
if(postData.length()!=0){
postData.append("&");
}
postData.append(entry.getKey()).append("=").append(entry.getValue());
}
return service(false, url, postData.toString(), "POST", null);
}
public String doPost(String url, Map<String,String> params,Map<String,String> headers){
StringBuilder postData = new StringBuilder();
for(Entry<String,String> entry:params.entrySet()){
if(postData.length()!=0){
postData.append("&");
}
postData.append(entry.getKey()).append("=").append(entry.getValue());
}
return service(false, url, postData.toString(), "POST", headers);
}
public String doPost(String url,String body){
return service(false, url, body, "POST", null);
}
public String doPost(String url, String postData, Map<String,String> headers){
return service(false, url, postData, "POST", headers);
}
public String doGet(String url, Map<String,String> headers){
return service(false, url, null, "GET", headers);
}
public String doGet(String url){
return service(false, url, null, "GET", null);
}
public String doHttpsPost(String url, String postData) {
return service(true, url, postData, "POST",null);
}
public String doHttpsPost(String url, Map<String,String> params){
return doHttpsPost(url,params,null);
}
public String doHttpsPost(String url, Map<String,String> params,Map<String,String> headers){
StringBuilder postData = new StringBuilder();
for(Entry<String,String> entry:params.entrySet()){
if(postData.length()!=0){
postData.append("&");
}
postData.append(entry.getKey()).append("=").append(entry.getValue());
}
return service(true, url, postData.toString(), "POST", headers);
}
public String doHttpsGet(String url) {
return service(true, url, null, "GET",null);
}
private String service(boolean isHttps, String url, String postData, String method, Map<String,String> headers){
HttpURLConnection conn = null;
try {
boolean doOutput = postData != null && postData.equals("");
conn = isHttps ? createHttpsConn(url, method, doOutput) : createHttpConn(url, method, doOutput);
fillProperties(conn, headers);
if(doOutput) writeMsg(conn, postData);
String msg = readMsg(conn);
logger.debug(msg);
return msg;
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
} finally {
if (conn != null) {
conn.disconnect();
conn = null;
}
}
return null;
}
private HttpURLConnection createHttpConn(String url, String method, boolean doOutput) throws IOException {
URL dataUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) dataUrl.openConnection();
conn.setReadTimeout(read_ti
版权声明:本文标题:android平台接入服务器总结(二)腾讯qq应用宝接入 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1725785991a1042684.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论