2017-01-27 16 views
6

google-api-php-clientクライアントを使用して、サービスアカウントを使用してGoogleドライブに接続しています。たいていの場合は動作しますが、たびに頻繁に(ここでページをリフレッシュすると、5〜10回ごとにページが表示されます)、メッセージunauthorized_client: Client is unauthorized to retrieve access tokens using this methodGoogle_Service_Exceptionが表示されます。エラーは、$this->drive_service->files->listFiles()コードが存在する場合にのみ発生します。 setSubject()を使用して別のユーザーに偽装するのではなく、サービスアカウントを直接使用する場合は発生しません。Google APIサービスアカウント認証エラー

アップデート:2017年2月21日:エラーは断続的ではなく、毎回発生するため、サービスアカウントを通じて通常のアカウントに接続できなくなりました。

更新2001年3月10日:これはユーザーの誤解のようです。そのドメインのユーザーを偽装するために、サービスアカウントには「ドメイン全体の権限」を与えなければなりません。 hereのように、クライアントにユーザーアカウントへのアクセスを許可しただけです。

答えて

0

エラーが定期的に発生する理由はわかりませんが、私の理解はユーザーを偽装するためにはgrant the service account accessである必要があります。

+0

ありがとうございます、私はすでにこれを行っています。 – MarcGuay

0

偽装されているアカウントを新しく作成すると、このエラーが断続的に発生することがあります。それを見て、サービスを作成しようとする前に10秒の遅延を加えれば、問題はなくなります。

+0

ソリューションのサンプルコードを提供する必要があります。 – thorb65

+0

偽装されているユーザーアカウントは新規作成されません。 – MarcGuay

関連する問題