私がやろうとしているのは、WebサイトからGoogleスプレッドシートを読むことだけです。GoogleDriveAPIドキュメントとStackOverflow上のすべてのGoogleDrivePHPを読み直しましたが、まだエンドゾーンに到達できません。
これが私がしたことです:
- Google APIコンソールにアクセスして:
- 「サービス」で「ドライブAPI」と「ドライブSDK」を有効にしました。
- 「APIアクセス」の下にOAuth2.0クライアントIDを作成しました。「WebアプリケーションのクライアントID」の下で、コンソールから「クライアントID」、「電子メールアドレス」、「クライアントシークレット」、「リダイレクトURI」、「JavaScriptオリジン」が表示されました。
- 「GoogleAPIPHPクライアントライブラリ」をダウンロードしました。
- Googleドライブドキュメント(スプレッドシート)を開き、[共有]をクリックしてドキュメントの「キー」を取得しました。
- 次のコードを設定します。
<?php
session_start();
require_once 'lib/gapi/Google_Client.php';
require_once 'lib/gapi/contrib/Google_DriveService.php';
define( 'GDRIVE_CLIENT_ID', '<API Console - API Access - Client ID>' );
define( 'GDRIVE_CLIENT_SECRET', '<API Console - API Access - Client secret>' );
define( 'GDRIVE_REDIRECT_URIS', '<API Console - API Access - Redirect URIs>' );
define( 'GDRIVE_SCOPE_01', 'h t t p s://www.googleapis.com/auth/drive' );
define( 'GDRIVE_SCOPE_02', 'h t t p s://www.googleapis.com/auth/drive.apps.readonly' );
define( 'GDRIVE_SCOPE_03', 'h t t p s://www.googleapis.com/auth/drive.file' );
define( 'GDRIVE_SCOPE_04', 'h t t p s://www.googleapis.com/auth/drive.metadata.readonly' );
define( 'GDRIVE_SCOPE_05', 'h t t p s://www.googleapis.com/auth/drive.readonly' );
define( 'GDRIVE_FILE_KEY', '<'key' given from 'sharing' document>' );
$client = new Google_Client();
$client->setClientId( GDRIVE_CLIENT_ID );
$client->setClientSecret( GDRIVE_CLIENT_SECRET );
$client->setRedirectUri( GDRIVE_REDIRECT_URIS );
$client->setScopes( array( GDRIVE_SCOPE_01, GDRIVE_SCOPE_02, GDRIVE_SCOPE_03, GDRIVE_SCOPE_04, GDRIVE_SCOPE_05 ) );
try {
$file = $service->files->get( GDRIVE_FILE_KEY );
echo "Title: ", $file->getTitle();
echo "Description: ", $file->getDescription();
echo "MIME type: ", $file->getMimeType();
} catch (Exception $e) {
echo "An error occurred: ", $e->getMessage();
}
?>
$service->files->get( GDRIVE_FILE_KEY )
例外をトリガーする呼び出しまで、すべてが正常に実行されます(とにかくエラーはありません) 。
エラーが発生しました:GETの呼び出し中にエラーが発生しました
https://www.googleapis.com/drive/v2/files
:(403)認証されていない使用の1日あたりの制限を超えました。継続して使用するには、サインアップが必要です。
私は何が間違っているのですか?私は髪を抜いた(まあ、残ったもの)。