request('GET', self::BASE_URL . 'v1/activities/' . $channelId, [ 'headers' => [ 'Authorization' => self::TOKEN ] ]); $info = json_decode((string)$res->getBody(), true); if ($channelName !== $info['name']) { throw new ApiException("频道名称不一致,频道{$channelId}名称为 " . $info['name']); } } public function setAuthUrl(int $channelId, string $redirectUrl) { // $client = new Client(); // $res =$client->request('Post', self::BASE_URL.'v1/activities/'.$channelId.'/setAuth', [ // 'headers' => [ // 'Authorization' => self::TOKEN // ], // 'json' => [ // 'method' => 'CUSTOM_VERIFY', // 'redirect_url' => $redirectUrl // ] // ]); $curl = curl_init(); $data = [ 'method' => 'CUSTOM_VERIFY', 'redirect_url' => $redirectUrl ]; $headers = [ 'Authorization' => self::TOKEN, 'Content-Type' => 'application/json' ]; $data = json_encode($data); $headers = json_encode($headers); curl_setopt_array($curl, [ CURLOPT_URL => self::BASE_URL . 'v1/activities/' . $channelId . '/setAuth', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $data, CURLOPT_HTTPHEADER => [ "Authorization: ".self::TOKEN, 'Content-Type: application/json', ], ]); $response = curl_exec($curl); curl_close($curl); $info = json_decode($response, true); if ($info['status'] !== 'y') { throw new ApiException("设置自定义授权url失败--" . (string)$response); } } public function getAuthCode(int $channelId) { $client = new Client(); $res = $client->request('Post', self::BASE_URL . 'v1/activities/' . $channelId . '/getAuthKey', [ 'headers' => [ 'Authorization' => self::TOKEN ] ]); $info = json_decode((string)$res->getBody(), true); if (empty($info)) { throw new ApiException($info['message']); } return $info['authkey']; } }