Ich benutze google oauth v2 HTTP-Anfrage, um den Zugriff toke, die gut funktioniert, ich bekomme das Token, aber wenn ich den Token für den Zugriff auf eine Tabelle bekomme ich einen 403 bekommen Error.Google Sheet API php curl bekommen Anfrage
Dies ist der Anforderungscode, den ich verwende.
$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);
Und das ist die Rückkehr mit dem Header
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"
}
}
Ich habe müde, um das Blatt öffentlich zu machen, aber das macht kein Unterschied zu den Fehlern. Der Fehler wird auch nicht auf der API-Konsole angezeigt.
Dies sind die Bereiche ich verwende:
{
"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.'
}
Was mache ich falsch?
Der Benutzer, den Sie authentifizieren, hat keinen Zugriff auf dieses Blatt. Stellen Sie außerdem sicher, dass Sie den richtigen Bereich zum Authentifizieren des Benutzers verwendet haben. – DaImTo
Ich habe es in der API-Konsole eingeschaltet. Gibt es woanders muss ich das Blatt für diesen Benutzer aktivieren? – sacarr