I have a code where I connect to google api and get data from a table. I tested the code through pycharm and on another server - everything worked. Now I run it on a server with Almalinux and get this error:
(venv) [perezegor@server bots]$ python main.py
^CTraceback (most recent call last):
File "/home/bots/main.py", line 57, in <module>
data_from_sheet = read_sheet('Sheet1!A2:G')
File "/home/bots/main.py", line 33, in read_sheet
result = sheet.values().get(spreadsheetId=SPREADSHEET_ID, range=range_name).execute()
File "/home/bots/venv/lib/python3.10/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/home/bots/venv/lib/python3.10/site-packages/googleapiclient/http.py", line 923, in execute
resp, content = _retry_request(
File "/home/bots/venv/lib/python3.10/site-packages/googleapiclient/http.py", line 191, in _retry_request
resp, content = http.request(uri, method, *args, **kwargs)
File "/home/bots/venv/lib/python3.10/site-packages/google_auth_httplib2.py", line 209, in request
self.credentials.before_request(self._request, method, uri, request_headers)
File "/home/bots/venv/lib/python3.10/site-packages/google/auth/credentials.py", line 230, in before_request
self._blocking_refresh(request)
File "/home/bots/venv/lib/python3.10/site-packages/google/auth/credentials.py", line 193, in _blocking_refresh
self.refresh(request)
File "/home/bots/venv/lib/python3.10/site-packages/google/oauth2/service_account.py", line 445, in refresh
access_token, expiry, _ = _client.jwt_grant(
File "/home/bots/venv/lib/python3.10/site-packages/google/oauth2/_client.py", line 308, in jwt_grant
response_data = _token_endpoint_request(
File "/home/bots/venv/lib/python3.10/site-packages/google/oauth2/_client.py", line 268, in _token_endpoint_request
response_status_ok, response_data, retryable_error = _token_endpoint_request_no_throw(
File "/home/bots/venv/lib/python3.10/site-packages/google/oauth2/_client.py", line 215, in _token_endpoint_request_no_throw
request_succeeded, response_data, retryable_error = _perform_request()
File "/home/bots/venv/lib/python3.10/site-packages/google/oauth2/_client.py", line 191, in _perform_request
response = request(
File "/home/bots/venv/lib/python3.10/site-packages/google_auth_httplib2.py", line 119, in __call__
response, data = self.http.request(
File "/home/bots/venv/lib/python3.10/site-packages/httplib2/__init__.py", line 1724, in request
(response, content) = self._request(
File "/home/bots/venv/lib/python3.10/site-packages/httplib2/__init__.py", line 1444, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/home/bots/venv/lib/python3.10/site-packages/httplib2/__init__.py", line 1366, in _conn_request
conn.connect()
File "/home/bots/venv/lib/python3.10/site-packages/httplib2/__init__.py", line 1156, in connect
sock.connect((self.host, self.port))
TimeoutError: [Errno 110] Connection timed out
My code:
def read_sheet(range_name):
try:
SERVICE_ACCOUNT_FILE = 'service_account.json'
SPREADSHEET_ID = ''
logging.info(f"Reading data from sheet: {range_name}")
creds = Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE,
scopes=["https://www.googleapis.com/auth/spreadsheets.readonly"],
)
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SPREADSHEET_ID, range=range_name).execute()
return result.get('values', [])
except Exception as e:
logging.error(f"Error in read_sheet: {e}")
raise
Anyone know how to fix it?
Tried contacting gpt, suggested checking by ping, I only use IPv4, packets are returned by it