Uruchomiłem następujący kod PHP, korzystając z bibliotek klienta znalezionych tutaj: https://code.google.com/p/google-api-php-client/. Nie otrzymuję żadnych błędów dla żadnego z tych kodów, ale kiedy zadzwonię pod numer getAccessToken()
, zwraca on wartość null.Korzystając z konta usługi, funkcja getAccessToken() wraca null
Pozwoliłem na dostęp do tego konta usługi w moim osobistym kalendarzu i zapewniłem pełny dostęp do projektu za pośrednictwem konsoli API.
Wszelkie pomysły?
require_once 'google-api-php-client/src/Google_Client.php';
const CLIENT_ID = 'blahblahblah';
const SERVICE_ACCOUNT_NAME = '[email protected]';
const KEY_FILE = 'path/to/privatekey.p12';
$google_client = new Google_Client(); // created only to initialized static dependencies
$client = new Google_OAuth2(); // you really just need Google_OAuth2
$key = file_get_contents(KEY_FILE);
$client->setAssertionCredentials(
new Google_AssertionCredentials(
SERVICE_ACCOUNT_NAME,
array('https://www.googleapis.com/auth/calendar'),
$key
)
);
var_dump($client->getAccessToken());
Nie jestem też pewien. Korzystam z twojego kodu na koncie pod adresem https://gist.github.com/fulldecent/6728257, a dla FYI setScopes linii nie jest konieczny –
'' getAccessToken() '' zwraca bieżący token dostępu, który nie istnieje do momentu, gdy zadzwonisz 'refreshTokenWithAssertion()' '(aby go zainicjować) lub' 'setAccessToken()' '(jeśli odzyskałeś poprzedni token dostępu, którego chcesz użyć). – tiho