DyJl.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. /**
  3. *巨量手动授权获取access_token回调
  4. ***/
  5. namespace app\api\controller;
  6. use think\Controller;
  7. use think\Env;
  8. use think\Request;
  9. use think\Cache;
  10. class DyJl extends Controller
  11. {
  12. private $appid = "";
  13. private $secret = "";
  14. public function __construct(Request $request = null)
  15. {
  16. parent::__construct($request);
  17. $this->appid = Env::get("juliang.app_id");
  18. $this->secret = Env::get("juliang.secret");
  19. }
  20. //分包
  21. public function createPackage(){
  22. $url = "https://ad.oceanengine.com/open_api/2/tools/app_management/extend_package/create_v2/";
  23. $params = [];
  24. $redis = Cache::store('default');
  25. $token = $redis->get('juliang_access_token');
  26. return $token;
  27. $params['account_id'] = 1777362811197572;
  28. $params['account_type'] = 'AD';
  29. $params['mode'] = 'Manual';
  30. $params['package_id'] = '0d46029b934b70c75a060ba858789668b18ab568';
  31. $params['channel_count'] = 1;
  32. $params['channel_list'][] = array('channel_id'=>'123456','remark'=>'测试接口');
  33. $result = get_http_response($url,json_encode($params),'post', array('Content-Type:application/json','Access-Token:'.$token));
  34. $result = json_decode($result,true);
  35. if (isset($result['code']) && $result['code'] == 0){
  36. return "分包成功";
  37. }else{
  38. return "分包失败";
  39. }
  40. }
  41. //查询应用信息 用APP_ID获取package_id 用于分包ID
  42. public function getAppInfo(){
  43. $url = " https://api.oceanengine.com/open_api/2/tools/app_management/android_app/list/";
  44. $params = [];
  45. $redis = Cache::store('default');
  46. $token = $redis->get('juliang_access_token');
  47. $params['account_id'] = 1777362811197572;
  48. $params['account_type'] = 'AD';
  49. $params['filtering'] = ['search_key'=>""];
  50. $result = get_http_response($url,json_encode($params),'get', array('Content-Type:application/json','Access-Token:'.$token));
  51. $result = json_decode($result,true);
  52. if (isset($result['code']) && $result['code'] == 0){
  53. return $result['data']['list'];
  54. }else{
  55. return "分包失败";
  56. }
  57. return $token;
  58. }
  59. //开放平台配置
  60. public function callback(Request $request)
  61. {
  62. $params = [];
  63. $params['auth_code'] = $_GET['auth_code'];
  64. $params['app_id'] = $this->appid;
  65. $params['secret'] = $this->secret;
  66. $url = "https://api.oceanengine.com/open_api/oauth2/access_token/";
  67. $redis = Cache::store('default');
  68. $result = get_http_response($url,$params,'post', array('Content-Type' => 'application/json'));
  69. $result = json_decode($result,true);
  70. if (isset($result['code']) && $result['code'] == 0){
  71. $redis->set('juliang_access_token', $result['data']['access_token'], 86000);
  72. $redis->set('juliang_refresh_token', $result['data']['refresh_token'], 600000);
  73. return "授权成功";
  74. }else{
  75. return "授权失败";
  76. }
  77. }
  78. //刷新token
  79. public function refreshToken(){
  80. $params = [];
  81. $redis = Cache::store('default');
  82. $params['refresh_token'] = $redis->get('juliang_refresh_token');
  83. $params['app_id'] = $this->appid;
  84. $params['secret'] = $this->secret;
  85. $url = "https://ad.oceanengine.com/open_api/oauth2/refresh_token/";
  86. $result = get_http_response($url,$params,'post', array('Content-Type' => 'application/json'));
  87. $result = json_decode($result,true);
  88. if (isset($result['code']) && $result['code'] == 0){
  89. $redis->set('juliang_access_token', $result['data']['access_token'], 86000);
  90. $redis->set('juliang_refresh_token', $result['data']['refresh_token'], 600000);
  91. return "刷新成功";
  92. }else{
  93. return "刷新失败";
  94. }
  95. }
  96. }