httplib2 treats 308 Resume Incomplete responses (used by Google's resumable upload API) as redirects and raises RedirectMissingLocation when the response lacks a Location header. Switch to google.auth.transport.requests.AuthorizedSession + direct HTTP calls so the upload uses the requests library, which handles 308 correctly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>