PHPでGoogle API を用いてGoogleSpreadsheetに読み書きしたいと思っています。
http://stackoverflow.com/questions/21470405/google-api-how-to-connect-to-receive-values-from-spreadsheet/22130673 に沿ってアクセスしようとしたのですが、エラーが出て先に進めません。どなたかわかる方はよろしくお願いします。
【エラーメッセージ】
Fatal error: Call to a member function getWorksheets() on a non-object in C:\xampp\htdocs\external_links\googleSpreadsheet.php on line 33
【コード】
lang
1$obj_client_auth = new Google_Client (); 2$obj_client_auth -> setApplicationName ('googleSpreadsheet_test'); 3$obj_client_auth -> setClientId (G_CLIENT_ID); 4$obj_client_auth -> setAssertionCredentials (new Google_Auth_AssertionCredentials ( 5 G_CLIENT_EMAIL, 6 array('https://spreadsheets.google.com/feeds','https://docs.google.com/feeds'), 7 file_get_contents (G_CLIENT_KEY_PATH), 8 G_CLIENT_KEY_PW 9)); 10$obj_client_auth -> getAuth () -> refreshTokenWithAssertion (); 11$obj_token = json_decode ($obj_client_auth -> getAccessToken ()); 12$accessToken = $obj_token->access_token; 13 14$serviceRequest = new Google\Spreadsheet\DefaultServiceRequest($accessToken); 15Google\Spreadsheet\ServiceRequestFactory::setInstance($serviceRequest); 16 17$spreadsheetService = new Google\Spreadsheet\SpreadsheetService(); 18$spreadsheetFeed = $spreadsheetService->getSpreadsheets(); 19$spreadsheet = $spreadsheetFeed->getByTitle('spreadsheetTest'); 20 21$worksheetFeed = $spreadsheet->getWorksheets(); 22$worksheet = $worksheetFeed->getByTitle('title_of_the_tab'); 23$listFeed = $worksheet->getListFeed();
【追記】
33行目は
lang
1$worksheetFeed = $spreadsheet->getWorksheets();
にあたります。
$accessToken が生成されているのは確認していますが、
lang
1$spreadsheetFeed = $spreadsheetService->getSpreadsheets();
ではオブジェトが生成されていますが、空っぽです(get_object_varsでみるとnull)。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。