Почему Google Drive API / Oauth2 обновляет запрос токена и возвращает сообщение об ошибке «SSL требуется для выполнения этой операции»? - PullRequest
0 голосов
/ 15 февраля 2019

Я новичок в OAuth2, и меня смущает, почему мой запрос на обновление токена получает ответ «SSL необходим для выполнения этой операции».когда очевидно мы получили SSL бесплатно от DigitalOcean.

  public function refresh_token($test = false){

    $url = "www.googleapis.com/oauth2/v4/token";
    $credentials = $this->credentials();
    $refresh_token = $credentials->refresh_token;
    $client_id = $credentials->client_id;
    $client_secret = $credentials->client_secret;
    $redirect =  base_url($credentials->redirect_url);

    $data = "client_id=$client_id&client_secret=$client_secret&refresh_token=$refresh_token&grant_type=refresh_token";

    $access = $this->curl_post($url,$data,array('Content-Type: application/x-www-form-urlencoded'));

    if($test){
      echo "<pre>";
      echo $access;
      die();
    }

    $access = json_decode($access);

    if(isset($access->access_token)){
      $this->admin->update(
        array('access_token'=>$access->access_token),
        'sheet_config',
        array('status'=>1)
      );
      echo $access->access_token;
      return true;
    }else{
      echo $access->error->message;
      return false;
    }
  }

Я ожидал, что получится новый токен или какие-то ошибки, такие как ваш сертификат испорчен, или вам нужно сначала настроить что-то с цифровым океаном относительно вашего SSL

Я такНуб о SSL и прочее, но я уверен, что у нас есть SSL, так как мы запускаем https://

1 Ответ

0 голосов
/ 15 февраля 2019

Потому что звонить на сервер авторизации по HTTP было бы очень плохо!

Это $url = "www.googleapis.com/oauth2/v4/token"; - то же самое, что и $url = "http://www.googleapis.com/oauth2/v4/token";и ни один сервер авторизации не ответил бы на это.

При этом я думаю, что вам просто не хватает https в начале вашего URL.

$url = "https://www.googleapis.com/oauth2/v4/token";
...