
1.创建API应用
APIs Console https://code.google.com/apis/console
需要用谷歌开发者账号登陆,该账号要和发布谷歌应用申请谷歌应用的那个账号相同,才能把这个创建的project和游戏应用绑定上(绑定需要手动操作)
绑定项目
在 https://play.google.com/apps/publish/
Settings–> API access—> LINKED PROJECT 和 OAUTH CLIENTS
client_id 就是在这里创建出来的。
另外,你要在googleplay console—> 对应应用的project下—> APIs & auth—-> APIs ,把GooglePlay Android Developer API设置为ON。
如果是你是个人应用开发者的话,可以直接配置,否则一定要账户管理员给你个人gmail账号设置个权限,也就是只有帐户所有者才能配置API权限,请联系相应的帐户所有者更新API设置
2.获得refresh_token
2.1访问下面的地址
https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=…&client_id=.
redirect_uri是上面步骤一中你填写的uri
client_id 是创建成功后,谷歌给你的
2.2完操作后,浏览器会自动跳转到你填写的uri页面,并跟上一个code,类似于这样的(4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI)
3.3获得refresh_token
//获取refresh_token
¥url = https://accounts.google.com/o/oauth2/token;
¥data = array(
'grant_type'=>'authorization_code',
'code'=>'4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI',
'client_id'=>'',
'client_secret'=>'',
'redirect_uri'=>'http://www.xiaoercms.com/',
);
¥contents = ¥this->curl(¥url,¥data);
echo ¥contents;
如果成功,会获得类似于这样的返回
{
“access_token” : “ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM”,
“token_type” : “Bearer”,
“expires_in” : 3600,
“refresh_token” : “1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho”
}
refresh_token后面不会出现,要保存好,要通过这个,获取access_token
//curl方法
private function curl(¥url,¥data=null,¥method = null){
¥ch=curl_init();
curl_setopt(¥ch, CURLOPT_URL, ¥url);
curl_setopt(¥ch, CURLOPT_RETURNTRANSFER, 1);
if (¥method == 'post') {
curl_setopt(¥ch, CURLOPT_POST,1);
}
curl_setopt(¥ch, CURLOPT_HEADER, 0);
curl_setopt(¥ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);//使用了SOCKS5代理
curl_setopt(¥ch,CURLOPT_PROXY,'192.168.100.2');//代理服务器
curl_setopt(¥ch,CURLOPT_PROXYPORT,'1080');//代理端口
curl_setopt(¥ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书 https访问的时候
curl_setopt(¥ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书 https访问的时候
if(¥data){
curl_setopt(¥ch, CURLOPT_POSTFIELDS, ¥data);//传递参数
}
¥output = curl_exec(¥ch);
curl_close(¥ch);
return ¥output;
}
3.订单验证
// 1.获取access_token
¥url = https://accounts.google.com/o/oauth2/token;
¥data_tmp = array(
'grant_type'=>'refresh_token',
'refresh_token'=>'上面获取到的refresh_token',
'client_id'=>'',
'client_secret'=>'',
);
¥contents = ¥this->curl(¥url,¥data_tmp,'post');
¥contents = json_decode(¥contents,true);
¥access_token = ¥contents['access_token'];
// 2.通过获得access_token 就可以请求谷歌的 API接口,获得订单状态
¥url = https://www.googleapis.com/androidpublisher/v2/applications/{¥packageName}/purchases/products/{¥productId}/tokens/{¥purchaseToken}?access_token={¥access_token};
¥contents = ¥this->curl(¥url);
¥contents = json_decode(¥contents,true);
if(¥contents['consumptionState'] == 0 && ¥contents['purchaseState'] == 0){
//验证成功 没有消耗 购买成功
//处理游戏逻辑
}
扫描二维码与小二CMS创始人沟通:
小二CMS专注于高端网站定制、系统开发、商城开发、外贸网站建设、公众号开发、小程序开发、网站优化推广、安全运维等技术领域。是高端定制网站领域著名服务商!
上一篇: 修改DNS解决个别网站无法访问的问题
下一篇: PHP苹果支付接口代码
针对物流与快递行业对高效获客、透明服务及数字化管理的需求,本文提出基于小二CMS的专业网站建设解决方案。通过在线下单、实时运单跟踪、智能客服等核心功能模块,结合小二CMS的可视化内容管理、多端适配与数据整合能力,助力物流快递企业构建集品牌展示、业务办理与客户运营于一体的数字化门户,实现服务效率提升与客户体验优化。
集团企业门户网站是展示企业综合实力、实现多层级协同与品牌统一的核心数字阵地。本文针对集团企业跨地域、多业务线、多层级的管理特点,提出基于小二CMS的定制化解决方案。通过多站点统一管理、分级权限管控、品牌内容聚合分发等核心能力,小二CMS助力集团企业构建“总部中枢+分支协同”的数字化门户体系,实现品牌形象一致、信息高效流转与内外资源整合,为集团战略落地与业务增长提供强力支撑。
针对初创型中小企业资源有限、数字化能力薄弱等痛点,本文提出基于小二CMS的一站式解决方案。从低成本内容管理到精准营销获客,从私域流量沉淀到高效运营协作,小二CMS凭借可视化操作、智能工具集成与灵活部署能力,助力初创企业以最小成本构建数字化竞争力,实现“从0到1”的快速成长。
本文深度解析出海营销与AI官网新能力的融合趋势,探讨小二CMS如何通过多语言内容管理、本地化适配与AI智能生成技术,助力企业破解跨文化营销难题,构建“智能官网+精准获客”的出海增长体系。
本文聚焦“SEO+GEO新增长引擎”的核心逻辑与实践路径,解析小二CMS如何通过智能内容管理、用户意图识别与多场景流量整合能力,助力企业构建“搜索+本地”双轮驱动的增长体系。
本文深入解析学校开发学生管理系统的重要作用,从提升教务管理效率、实现数据统一、优化家校沟通、支持科学决策等方面展开,结合小二CMS在低代码搭建、多端同步与数据安全上的优势,帮助教育机构理解如何通过该系统实现智慧校园与精细化管理的双重升级。
本文系统盘点当前最适合开发小程序的行业,分析各行业的需求痛点和应用场景,并结合小二CMS在低代码搭建、多端同步与营销赋能上的优势,帮助企业了解如何利用小程序快速实现业务线上化与智能化,抢占移动互联网红利。
本文深入剖析电商小程序开发的多重好处,从低成本快速上线、多端触达、提升用户转化到私域运营等方面进行全面解读,并结合小二CMS在内容管理、多端同步与营销赋能上的优势,帮助企业把握移动新零售机遇,实现业绩持续增长。