2016-11-15 6 views
1

Я использую google oauth v2 HTTP-запрос для получения доступа toke, который работает нормально, я получаю токен, но при использовании токена для доступа к электронной таблице я получаю 403 ошибка.Google Sheet API php curl получить запрос

Это код запроса, который я использую.

$get = 'https://sheets.googleapis.com/v4/spreadsheets/1bHKgQLgqB4PfjRUVPkYk5_L7aQOtZGOkhJbr_RFxQQY?access_token='.$access_token; 

$ch = curl_init(); 

curl_setopt($ch,CURLOPT_URL,$get); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch,CURLOPT_HEADER, false); 
$output = curl_exec($ch); 
curl_close($ch); 

var_dump($output); 

И это возвращение с заголовком

HTTP/1.1 403 Forbidden 
Vary: X-Origin 
Vary: Referer 
Content-Type: application/json; charset=UTF-8 
Date: Tue, 15 Nov 2016 13:13:09 GMT 
Server: ESF 
Cache-Control: private 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 
Alt-Svc: quic=":443"; ma=2592000; v="36,35,34" 
Accept-Ranges: none 
Vary: Origin,Accept-Encoding 
Transfer-Encoding: chunked 

{ 
    "error": { 
    "code": 403, 
    "message": "The caller does not have permission", 
    "status": "PERMISSION_DENIED" 
    } 
} 

Я устал, чтобы сделать листовую общественности, но это не имеет никакого значения для ошибки. Ошибка также не отображается на консоли API.

Эти прицелы я использую:

{ 
    "iss":"[email protected]", 
    "scope":"https://www.googleapis.com/auth/drive  
    https://www.googleapis.com/auth/drive.readonly 
    https://www.googleapis.com/auth/spreadsheets 
    https://www.googleapis.com/auth/spreadsheets.readonly", 
    "aud":"https://accounts.google.com/o/oauth2/token", 
    "exp":'.($time+3600).', 
    "iat":'.$time.' 
} 

Что я делаю неправильно?

+2

Похоже, что у вас нет доступа к этому листу. Также убедитесь, что вы использовали правильную область для аутентификации пользователя. – DaImTo

+0

Я включил его в консоли API. Есть ли где-нибудь еще, что я должен включить лист для этого пользователя? – sacarr

ответ

2

решена проблема

Листовой Я пытался получить доступ к необходимому обмену с моим идентификатором клиента (адрес электронной почты) правой кнопкой мыши на листе в Google Диск, и поделиться с адресом электронной почты.

Отправка этого для любого человека с той же проблемой.