Я пытаюсь получить электронную таблицу с помощью Google SDK. Я вошел в учетную запись с ролью создателя токена учетной записи службы, и учетная запись службы имеет права доступа к электронной таблице. Это мой код:
Traceback (most recent call last):
File "/aircraft-detection/ml/gcp.py", line 69, in _fetch_spreadsheet
result = request.execute()
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/googleapiclient/http.py", line 923, in execute
resp, content = _retry_request(
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/googleapiclient/http.py", line 191, in _retry_request
resp, content = http.request(uri, method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/google_auth_httplib2.py", line 207, in request
self.credentials.before_request(self._request, method, uri, request_headers)
File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 228, in before_request
self._blocking_refresh(request)
File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 191, in _blocking_refresh
self.refresh(request)
File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 365, in refresh
self._refresh_token(request)
File "/usr/local/lib/python3.11/site-packages/google/auth/impersonated_credentials.py", line 289, in _refresh_token
self._source_credentials._refresh_token(request)
TypeError: 'str' object is not callable
Я подозреваю, что что-то не так с моей конфигурацией gcloud, а не с кодом, потому что:
Этот код работал раньше, и ошибка начала возникать, несмотря на отсутствие изменений в коде.
Код работает на других машинах (других разработчиков)
Я переустановил gcloud sdk и снова настроил его, но это не помогло.
Я пытаюсь получить электронную таблицу с помощью Google SDK. Я вошел в учетную запись с ролью создателя токена учетной записи службы, и учетная запись службы имеет права доступа к электронной таблице. Это мой код: [code]def build_gcp_sheets_service(): target_scopes = ['https://www.googleapis.com/auth/spreadsheets.readonly']
service = build('sheets', 'v4', credentials=target_credentials) return service
service = build_gcp_sheets_service()
sheet = service.spreadsheets() request = sheet.values().get(spreadsheetId=file_id, range=sheet_range) result = request.execute() # Error occurs here [/code] Вызов request.execute() приводит к следующей ошибке: [code]Traceback (most recent call last): File "/aircraft-detection/ml/gcp.py", line 69, in _fetch_spreadsheet result = request.execute() ^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper return wrapped(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/googleapiclient/http.py", line 923, in execute resp, content = _retry_request( ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/googleapiclient/http.py", line 191, in _retry_request resp, content = http.request(uri, method, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/google_auth_httplib2.py", line 207, in request self.credentials.before_request(self._request, method, uri, request_headers) File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 228, in before_request self._blocking_refresh(request) File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 191, in _blocking_refresh self.refresh(request) File "/usr/local/lib/python3.11/site-packages/google/auth/credentials.py", line 365, in refresh self._refresh_token(request) File "/usr/local/lib/python3.11/site-packages/google/auth/impersonated_credentials.py", line 289, in _refresh_token self._source_credentials._refresh_token(request) TypeError: 'str' object is not callable [/code] Я подозреваю, что что-то не так с моей конфигурацией gcloud, а не с кодом, потому что: [list] [*]Этот код работал раньше, и ошибка начала возникать, несмотря на отсутствие изменений в коде.
[*]Код работает на других машинах (других разработчиков)
[/list] Я переустановил gcloud sdk и снова настроил его, но это не помогло.