2026-07-30 22:11:35,673 [INFO] app.orchestrator.pipeline: Target publish date: 2026-07-31 2026-07-30 22:11:35,701 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:11:37,261 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:12:08,029 [ERROR] app.orchestrator.pipeline: Category bilim-teknoloji failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:12:08,226 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:12:09,672 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:12:39,002 [ERROR] app.orchestrator.pipeline: Category psikoloji failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:12:39,008 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:12:40,371 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:13:06,369 [ERROR] app.orchestrator.pipeline: Category hukuk failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:13:06,375 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:13:07,683 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:13:35,458 [ERROR] app.orchestrator.pipeline: Category spor failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:13:35,463 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:13:37,089 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:14:04,595 [ERROR] app.orchestrator.pipeline: Category muzik failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:14:04,603 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:14:06,171 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:14:30,764 [ERROR] app.orchestrator.pipeline: Category genel-kultur failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:14:30,774 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:14:32,024 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:15:02,628 [ERROR] app.orchestrator.pipeline: Category finans failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:15:02,635 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:15:04,073 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:15:32,213 [ERROR] app.orchestrator.pipeline: Category tarih failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:15:32,277 [INFO] app.orchestrator.pipeline: Daily run complete. Manifest: C:\laragon\www\shorts\output\2026-07-31\manifest.json 2026-07-30 22:17:15,659 [INFO] app.orchestrator.pipeline: Target publish date: 2026-07-31 2026-07-30 22:17:15,688 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:17:17,129 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:17:48,865 [ERROR] app.orchestrator.pipeline: Category bilim-teknoloji failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:17:48,874 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:17:50,186 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:18:18,433 [ERROR] app.orchestrator.pipeline: Category psikoloji failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:18:18,437 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:18:19,597 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:18:43,049 [ERROR] app.orchestrator.pipeline: Category hukuk failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:18:43,054 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:18:44,283 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:19:14,586 [ERROR] app.orchestrator.pipeline: Category spor failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:19:14,591 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:19:16,192 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:19:43,573 [ERROR] app.orchestrator.pipeline: Category muzik failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:19:43,578 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:19:44,906 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:20:08,436 [ERROR] app.orchestrator.pipeline: Category genel-kultur failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:20:08,440 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:20:09,725 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:20:40,343 [ERROR] app.orchestrator.pipeline: Category finans failed Traceback (most recent call last): File "C:\laragon\www\shorts\app\orchestrator\pipeline.py", line 60, in run_daily_pipeline video_id = upload_video( video_path=video_path, ...<3 lines>... publish_at_iso=publish_at, ) File "C:\laragon\www\shorts\app\youtube\uploader.py", line 46, in upload_video service = _get_service() File "C:\laragon\www\shorts\app\youtube\uploader.py", line 16, in _get_service creds = load_credentials() File "C:\laragon\www\shorts\app\youtube\auth.py", line 25, in load_credentials creds.refresh(Request()) ~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\auth\credentials.py", line 517, in refresh self._perform_refresh_token(request) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\credentials.py", line 435, in _perform_refresh_token ) = reauth.refresh_grant( ~~~~~~~~~~~~~~~~~~~~^ request, ^^^^^^^^ ...<6 lines>... enable_reauth_refresh=self._enable_reauth_refresh, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\reauth.py", line 370, in refresh_grant _client._handle_error_response(response_data, retryable_error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\laragon\www\shorts\.venv\Lib\site-packages\google\oauth2\_client.py", line 73, in _handle_error_response raise exceptions.RefreshError( error_details, response_data, retryable=retryable_error ) google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'}) 2026-07-30 22:20:40,348 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:20:42,025 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:21:06,415 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:21:09,965 [INFO] app.youtube.uploader: Uploaded video C-s99PMv8is scheduled for 2026-07-31T16:00:00Z 2026-07-30 22:21:09,966 [INFO] app.orchestrator.pipeline: tarih -> uploaded (C-s99PMv8is), scheduled 2026-07-31T16:00:00Z 2026-07-30 22:21:09,971 [INFO] app.orchestrator.pipeline: Daily run complete. Manifest: C:\laragon\www\shorts\output\2026-07-31\manifest.json 2026-07-30 22:22:48,694 [INFO] app.orchestrator.pipeline: Target publish date: 2026-07-31 2026-07-30 22:22:48,749 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:22:50,143 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:23:17,564 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:23:20,716 [INFO] app.youtube.uploader: Uploaded video XNnp_0gEmJU scheduled for 2026-07-31T09:00:00Z 2026-07-30 22:23:20,717 [INFO] app.orchestrator.pipeline: bilim-teknoloji -> uploaded (XNnp_0gEmJU), scheduled 2026-07-31T09:00:00Z 2026-07-30 22:23:20,719 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:23:21,859 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:23:45,578 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:23:48,064 [INFO] app.youtube.uploader: Uploaded video 9TVODvH14uM scheduled for 2026-07-31T10:00:00Z 2026-07-30 22:23:48,064 [INFO] app.orchestrator.pipeline: psikoloji -> uploaded (9TVODvH14uM), scheduled 2026-07-31T10:00:00Z 2026-07-30 22:23:48,066 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:23:49,606 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:24:17,672 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:24:20,151 [INFO] app.youtube.uploader: Uploaded video mViTZUzv0m4 scheduled for 2026-07-31T11:00:00Z 2026-07-30 22:24:20,152 [INFO] app.orchestrator.pipeline: hukuk -> uploaded (mViTZUzv0m4), scheduled 2026-07-31T11:00:00Z 2026-07-30 22:24:20,153 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:24:21,289 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:24:43,909 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:24:46,823 [INFO] app.youtube.uploader: Uploaded video -3UzAibtJ0s scheduled for 2026-07-31T12:00:00Z 2026-07-30 22:24:46,824 [INFO] app.orchestrator.pipeline: spor -> uploaded (-3UzAibtJ0s), scheduled 2026-07-31T12:00:00Z 2026-07-30 22:24:46,825 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:24:48,486 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:25:16,188 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:25:18,985 [INFO] app.youtube.uploader: Uploaded video lTPoYRYzZ-0 scheduled for 2026-07-31T13:00:00Z 2026-07-30 22:25:18,986 [INFO] app.orchestrator.pipeline: muzik -> uploaded (lTPoYRYzZ-0), scheduled 2026-07-31T13:00:00Z 2026-07-30 22:25:18,987 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:25:20,503 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:25:50,733 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:25:53,571 [INFO] app.youtube.uploader: Uploaded video 5_9lOS8haY0 scheduled for 2026-07-31T14:00:00Z 2026-07-30 22:25:53,572 [INFO] app.orchestrator.pipeline: genel-kultur -> uploaded (5_9lOS8haY0), scheduled 2026-07-31T14:00:00Z 2026-07-30 22:25:53,573 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:25:55,110 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:26:21,760 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:26:24,446 [INFO] app.youtube.uploader: Uploaded video ZbqCIQkWjHA scheduled for 2026-07-31T15:00:00Z 2026-07-30 22:26:24,447 [INFO] app.orchestrator.pipeline: finans -> uploaded (ZbqCIQkWjHA), scheduled 2026-07-31T15:00:00Z 2026-07-30 22:26:24,448 [INFO] google_genai.models: AFC is enabled with max remote calls: 10. 2026-07-30 22:26:25,761 [INFO] httpx: HTTP Request: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-lite-latest:generateContent "HTTP/1.1 200 OK" 2026-07-30 22:26:49,527 [INFO] googleapiclient.discovery_cache: file_cache is only supported with oauth2client<4.0.0 2026-07-30 22:26:52,681 [INFO] app.youtube.uploader: Uploaded video rPt7g0a1Ic4 scheduled for 2026-07-31T16:00:00Z 2026-07-30 22:26:52,682 [INFO] app.orchestrator.pipeline: tarih -> uploaded (rPt7g0a1Ic4), scheduled 2026-07-31T16:00:00Z 2026-07-30 22:26:52,687 [INFO] app.orchestrator.pipeline: Daily run complete. Manifest: C:\laragon\www\shorts\output\2026-07-31\manifest.json