移动开发-腾讯邮箱集成

  分享一个最近写的腾讯邮箱集成方法:

 1 package services.tencentmail.impl;
 2
 3 import net.sf.json.JSONObject;
 4 import org.apache.commons.codec.binary.Base64;
 5 import org.springframework.dao.EmptyResultDataAccessException;
 6 import org.springframework.jdbc.core.JdbcTemplate;
 7 import org.springframework.stereotype.Service;
 8 import services.tencentmail.HttpCore;
 9 import services.tencentmail.TencentMailService;
10
11 import javax.inject.Inject;
12 import java.util.Map;
13
14 @Service
15 public class TencentMailServiceImpl implements TencentMailService {
16
17     HttpCore http = new HttpCore();
18     @Inject
19     public JdbcTemplate jdbcTemplate;
20
21
22     public String getLinkUrl(String alias,String ssoURL,String client_id,String client_secret,String url,String host,String authkeyURL,String openAPIHost) {
23         String authKey = getAuthKey(alias,client_id,client_secret,url,host,authkeyURL,openAPIHost);
24         return ssoURL + "?fun=bizopenssologin&method=bizauth&agent=" + client_id + "&user=" + alias + "&ticket=" + authKey;
25     }
26
27     public String getAlias(String userid, String mailConfgSql,String domain) {
28         String alias = null;
29         try {
30             Map<String,Object> map = jdbcTemplate.queryForMap(mailConfgSql,userid);
31             if (!map.isEmpty()) {
32                 alias = map.get("YHM") + "@"+domain;
33             }
34         } catch (EmptyResultDataAccessException e) {
35             // TODO: handle exception
36         }
37         return alias;
38     }
39     public String getAuthKey(String alias,String client_id,String client_secret,String url,String host,String authkeyURL,String openAPIHost){
40         String content = "alias="+alias;
41         String auth = "Bearer "+getToken(client_id,client_secret,url,host);
42         net.sf.json.JSONObject json = http.httpRequest(authkeyURL, auth, content, openAPIHost);
43         return json.getString("auth_key");
44     }
45     public String getToken(String client_id, String client_secret, String url, String host) {
46         String content = "grant_type=client_credentials";
47         String auth = getAuthorization(client_id, client_secret);
48         JSONObject jsonObject = http.httpRequestSecure(url, auth, content, host);
49         String token = jsonObject.getString("access_token");
50         return token;
51     }
52     public String getAuthorization(String client_id, String client_secret) {
53         byte[] source = new String(client_id + ":" + client_secret).getBytes();
54         return new String("Basic " + Base64.encodeBase64String(source));
55     }
56 }
时间: 2024-08-19 07:37:36

移动开发-腾讯邮箱集成的相关文章

Android开发:app工程集成银联支付功能(客户端)

Android开发:app工程集成银联支付功能(客户端) email:[email protected] 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付功能(服务器端).这一篇博文完成客户端的集成. 一.功能描述 银联支付流程如下所示: 上一篇尝试了tn的获取,本篇将跑通整个流程. 二.实现部分 先说一下我的IDE是as(Android Studio)+win7 64位 2.1配置,依旧是配置 按照官方说明文档,就可以完成,我在这里贴上结构图,因为as的特殊

开发腾讯移动游戏平台SDK ios版Ane扩展 总结

本文记录了在开发 腾讯移动游戏平台SDK(MSDK) ios版Ane扩展 过程中所遇到的问题 文中非常多问题都是基础的问题.对object c和xcode配置了解不深入导致的.(没办法,开发ane的程序猿大部分都是做ActionScript的,一般对c/c++都没有开发经验) 问题一.编译报错:Unexpected '@' in program 代码例如以下: @try{ } @catch{ } 原因是高版本号xcode代码放在低版本号xcode下跑,低版本号ios 不支持这样的写法(ios 7

音视频开发技术之自主集成第三方编解码器

AnyChat Platform Core SDK支持加载外部音视频的编码.解码模块(简称AnyChat Codec库),增强系统的可扩展性,同时也满足一些特定应用环境的特殊需求,如与特定的硬件平台(android.pad)集成时,可以调用硬件编解码器,实现更高效率的即时通讯应用. AnyChat Platform Core SDK内核已经实现了部分常用的音视频编码.解码模块,如H.264视频编码.解码算法,ARM-WB.AAC.SPEEX.CELT等音频编码.解码算法.上层应用可以自己定义新的

开发腾讯移动游戏平台SDK Android版Ane扩展 总结

来源:http://blog.csdn.net/linguifa/article/details/25832011 本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方案 问题一:编译报错:Unable to resolve target 'android-7': 将低版本的代码导入eclipse时,常遇到这样的问题:Unable to resolve target 'android-XX' 这是原代码中project.properti

selenium 模仿腾讯邮箱登录

现在用selenium模仿腾讯邮箱登录 思路:定位页面用户名.密码元素.输入即可,在定位登录按钮,点击即可 注意:直接去定位用户名.密码,找不到,通过检查网页源代码,发现页面存在嵌套现象,必须切换到登录frame中,才能定位到用户名,密码元素 下面请看代码: from selenium import webdriver import time #定义登录函数 def login_qqmail(browser,username,password): driver = browser driver.

iOS开发——高级篇——如何集成支付宝SDK

一.什么是支付宝 第三方支付平台 和内购非常相似内购是用户将钱付款给苹果,之后苹果分成给商户支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们的账户 使用支付宝前提购买的物品必须是和应用程序无关的.比如:团购卷/衣服/电子产品如果和应用程序有关,必须采用内购(否则不允许上架).比如:会员/游戏道具 二.集成支付宝 现在不少app内都集成了支付宝功能 使用支付宝进行一个完整的支付功能,大致有以下步骤:向支付宝申请, 与支付宝签约,获得商户ID(partner)和账号ID(seller)和私钥(p

iOS开发:2分钟快速集成支付宝快捷支付

?这篇文章介绍了iOS快速集成支付宝支付的方法,这篇文章中介绍的方法是通过一次封装,因此配备完结今后调用仅需一行代码即可支付宝支付,非常的便当,希望我们喜欢. 我仅仅根据官方的文档,对支付宝的SDK做了进一步封装,其间密钥的生成很简略,需要看官方的文档,官方的文档我在工程附件目录里也有一份,假设需要立刻集成,没工夫研讨的话,可以大致看一下密钥的生成即可,其他的配备我会在下面进行谈论. 要在iOS运用里集成支付宝支付,需要公司和支付宝签约,然后生成相应的密钥.密钥的生成支付宝的开发文档里现已说的非

Android应用开发中,第三方集成新浪微博(sinaWeiboSDK)的过程记录

作为一个android开发人员,不可避免的要学会使用和集成第三方API的能力 而新浪微博作为现在最主要的新闻速递媒体,使用十分普遍,并且提供了较为详细的API接入方法,故此选择集成sinaWeibiSdk. step1.准备步骤: 首先要注册成为sina开发者身份,并在sina的开发平台政策和指导下,创建和注册自己将要集成的应用,其中包括sniaWeiboSdk下载,应用创建,获取APP_KEY 和APP secret的信息等基本的集成信息准备. step2.集成sdk内容到自己的project

让你提前认识软件开发(51):VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改

第3部分 软件研发工作总结 VC++集成开发环境中Linux下Pclint工程的配置方法及常见错误修改 [文章摘要] Pclint是一种C/C++软件代码静态分析工具.它是一种更加严格的编译器,能够发现普通编译器所不能发现的代码中的很多问题,因此被广泛应用于软件开发项目中. 本文介绍了如何在VC++集成开发环境中配置Linux下的Pclint工程,给出了C语言中pclint规则A检查的常见错误,并描述了对应的修改办法. [关键词] VC++  Pclint  配置  操作  修改 1. 前言 P