php获取开放平台ticket,ticket:获取云之家app当前用户上下文 - 云之家·开放平台
注意:(该方式严重暴漏了appSecret,并不提倡使用js来进行access_token的获取!如果非得使用这种实现方式,则要保证js代码在使用时候的不可见!)
轻应用演示
获得token
获得context
获得的access_token
获得的上下文
var ticket=getUrlParam('ticket'),token;
function generateRandomString() {
return (Math.random().toString(36).substr(2));
}
// 使用CORS跨域认证
function gettoken(){
var timestamp = new Date().getTime();
var nonce = encodeURIComponent(generateRandomString());
var appid = encodeURIComponent("110110");
var appSecret = "110110";
var version = "1.1";
var array = new Array(version,timestamp, nonce, appid, appSecret);
array.sort();
var str = array.join("");
var sign = encodeURIComponent(CryptoJS.SHA1(str).toString());
var authorization = "OpenAuth2 version=\"" + version + "\", appid=\"" + appid + "\", timestamp=" + timestamp + ", nonce=\"" + nonce + "\", sign=\"" + sign + "\"";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
console.log(xhr.readyState);
if(xhr.readyState == 4) {
if(xhr.status == 200 || xhr.status == 304) {
var resp = JSON.parse(xhr.responseText);
$('#tk').html(JSON.stringify(resp));
if(resp != undefined && resp.success != undefined && resp.success && resp.data != undefined && resp.data.access_token != undefined ) {
token = resp.data.access_token;
}
}
}
};
var url = "http://do.yunzhijia.com/openauth2/api/appAuth2";
xhr.open("POST", url, false);
xhr.setRequestHeader("authorization", authorization);
xhr.send(null);
}
function getcontext(){
$.ajax({
type: "GET",
dataType:"JSON",
data:{
ticket:ticket,
"access_token":token
},
url: "http://do.yunzhijia.com/openauth2/api/getcontext"
}).done(function(ok) {
$('#ct').html('用户:'+ok.username+',企业:'+ok.eid)
$('#ct').html(JSON.stringify(ok))
}).fail(function(a) {
alert(a.responseText)
})
}
//获取url中的参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
php获取开放平台ticket,ticket:获取云之家app当前用户上下文 - 云之家·开放平台相关推荐
- 华为云数据库 MySQL 内核新特性上线,首家彻底解决用户上云需改造应用的问题
最新消息,搭载 HWSQL 内核的华为云数据库 MySQL,近期上线了几大关键特性.其中通过深入改造.去除社区版 GTID 约束限制的特性,更是首家彻底解决了用户上云需要对应用进行改造的问题. GTI ...
- 将安卓项目部署云服务器,将app项目部署到云服务器上
将app项目部署到云服务器上 内容精选 换一换 ContainerOps需要与其他云服务协同工作,ContainerOps和其他云服务的关系如图1.云容器引擎云容器引擎(Cloud Container ...
- 如何定时发送云湖社交APP消息?玩转云湖机器人
云湖社交APP是什么软件? 云湖社交是一款基于即时通讯功能的效率工具.兴趣软件.用户可以通过丰富的机器人来提升用户的生活和工作效率.云湖中,推荐有三大玩法:打造自己的网站的用户全员群.作为自己私有网站 ...
- 新浪开放平台:解决获取access_token抛 21323 异常,以及接口调用
使用新浪开放平台的准备 1)要注册一个新浪微博,并在新浪开放平台登陆(http://open.weibo.com/) 2)创建应用 这里以创建"移动应用" ...
- 淘宝开放平台正式环境获取数据(一)
淘宝open平台 C#示例下载下来以后,一执行,果然好用,我兴奋不已,但是我需要真实环境的数据,示例给出的是测试环境的数据,这就需要你申请一个应用了 一.应用申请 申请步骤大家就看淘宝上给出的提示吧: ...
- java 微信获取用户地理位置_Java微信公众平台开发之获取地理位置
本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系 ...
- Java微信公众平台开发之获取地理位置
本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系 ...
- java微信公众号获取地理位置_Java微信公众平台开发之获取地理位置
本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系 ...
- aes加密 java_Java中的微信支付(2):API V3 微信平台证书的获取与刷新
1. 前言 在Java 中的微信支付(1):API V3 版本签名详解一文中胖哥讲解了微信支付 V3 版本 API 的签名,当我方(你自己的服务器)请求微信支付服务器时需要根据我方的API 证书对参数 ...
最新文章
- Code Valley团队拟在澳洲建立一座价值5000万美元的BCH科技园
- Bootstrap 栅格 样式 组件 插件
- .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程
- 快速安装配置zabbix_agent端
- ThinkJava-压缩
- php gbk json,GBK的页面输出JSON格式的php函数
- c++写一个类后编译发现class重定义
- 记录一次 AGP 调研过程中的思考,我从一个事故搞出了一个故事!
- win10浏览器账户退出
- 电力系统仿真软件python_PySpice: 使用ngspice进行电路仿真分析-1:安装
- 学习做视频剪辑,几分钟教会你剪辑技巧
- Windows 7 and Windows Server 2008 R2 中文版已发布在 MSDN and TechNet Plus 订阅
- EternalBlue复现过程
- 女生参加UI设计培训班有没有前途
- 联想C++实习面试凉经
- 泰克Tektronix示波器软件TDS2012|TDS2014|TDS2022上位机软件NS-Scope
- 入门 Python 数据分析教程指南(学习路线 + Python 资料),轻轻松松月入过万
- JAVA扫码点餐(4)-遗留问题
- 10个外企面试必问的问题!附答案和HR意图
- Day19 Oracle 数据库 创建表 约束 JDBC BaseDAO