1

私はphpに基づいてブラウザベースのアプリケーションを作成しています。Google_Client()->> createAuthUrl()から取得したURLを使用して、ユーザーをGoogleのアクセス許可ページに送信します。

次に、ユーザーは私が要求したアクセス許可を許可し、私のサイトにリダイレクトされます。そこで、クエリパラメーター(コード)を使用してアクセストークンを生成します。アクセストークンを設定した後、いくつかのgoogleドライブAPI呼び出しを試みましたが、どのapi呼び出しを使用しようとしても、呼び出しは常に失敗します(401)無効なクレデンシャル。

グーグルが使用している残りのURLを調べると、常に次のURLが返されることがわかります。

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "internalError",
                "message": "Internal Error"
            }
        ],
        "code": 500,
        "message": "Internal Error"
    }
}

これが私のコードです:

require_once 'src/Google_Client.php';
require_once 'src/contrib/Google_DriveService.php';
require_once 'src/contrib/Google_Oauth2Service.php';

class Google_drive 
{

    var $array_values = array();
    var $CI;
    var $client;

    public function __construct()
    {
        $this->CI = & get_instance();

        $client = new Google_Client();
        // Get your credentials from the APIs Console
        $client->setClientId('12340XXXXX26.apps.googleusercontent.com');
        $client->setClientSecret('4vJU1RVcXXXXXX71levO5wF-');
        $client->setRedirectUri('http://test.elemental.co.za/drm/requestlists/google_drive');
        $client->setScopes(array('https://www.googleapis.com/auth/drive','https://www.googleapis.com/auth/drive.file'));

        $service = new Google_DriveService($client);

        if (!$this->CI->input->get('code')) // (this is the query string parameter ?code=
        {
            redirect($client->createAuthUrl());
        }
        //Request authorization
        $authCode = $this->CI->input->get('code'); // (this is the query string parameter ?code=
        // Exchange authorization code for access token
        $accessToken = $client->authenticate($authCode);
        $client->setAccessToken($accessToken);
        $files = $service->files->list(array())
        }
}
4

1 に答える 1

1

OK、それで、client->setDevolperKey('xxxxxxxxxxxxxxxxxxxxx') が見つからなかったことが判明しました。これは、それが何であるかを知っている今でも、Google ドキュメントのどこにも見つからないようです。

于 2013-03-01T06:25:09.520 に答える