>백엔드 개발 >Golang >API를 통한 Google 드라이브에 파일 업로드 실패

API를 통한 Google 드라이브에 파일 업로드 실패

王林
王林앞으로
2024-02-09 13:30:08471검색

通过 API 将文件上传到 Google Drive 失败

php 편집기 Xigua는 API를 사용하여 Google 드라이브에 파일을 업로드할 때 때때로 오류가 발생할 수 있다고 말합니다. 이러한 상황은 네트워크 문제, 권한 부족 등 다양한 이유로 인해 발생할 수 있습니다. 하지만 걱정하지 마세요. 이 문제를 해결하기 위해 할 수 있는 일이 몇 가지 있습니다. 다음으로 API를 통해 Google 드라이브에 파일을 성공적으로 업로드하는 방법을 자세히 소개하여 모든 사람이 더 이상 이 문제에 대해 걱정하지 않도록 하겠습니다.

질문 내용

Google 드라이브에 파일을 업로드하려고 하는데 실패합니다. 나는 이것이 일반적인 문제라고 생각했기 때문에 MIME 유형을 올바르게 지정했다고 생각했지만 여전히 작동하지 않습니다.

변환 시스템 정보: 파일을 업로드할 수 있는 Gin-Gonic(v1.9.1)용 API가 있습니다. API에서 가져온 파일을 성공적으로 저장할 수 있으므로 파일이 프런트엔드/우체부에서 API로 성공적으로 전달되었습니다.

제가 받은 오류는 다음과 같습니다:

으아악

다음 기능이 있습니다:

으아악

여기에 하드코딩된 MIME 유형을 추가했는데 fileMimeType 변수가 실제로 정확합니다. Test1의 내용이 포함된 Test.txt 파일을 업로드했습니다(Frontend/Postman을 통해 보낼 때도 성공적으로 생성됨). 또한 파일 MIME 유형을 동적으로 지정하거나 MIME 유형을 전혀 지정하지 않고 시도했지만 항상 동일한 결과를 얻었습니다.

저는 이를 위해 다음 패키지를 사용합니다:

  • Go 버전: go1.21.1 darwin/arm64
  • go list -m golang.org/x/oauth2: v0.13.0
  • go list -m google.golang.org/api: v0.147.0
    • google.golang.org/api/drive/v3
    • google.golang.org/api/googleapi
    • google.golang.org/api/option

편집자:

구글 공식 예제도 복사했는데 여전히 작동하지 않네요.

해결 방법

인증과 관련된 오류인 것 같습니다. 이 오류로 인해 잘못된 인증을 추론하기는 다소 어렵지만 작동하려면 새로 고침 토큰에 대한 새로 고침 알고리즘을 약간 변경해야 했습니다.

제 작업 코드입니다. 토큰이 여전히 유효한지 확인하기 위해 UploadFile() 函数之前,我首先检查 oauthTokenConfig.ExpiresIn를 호출하기 전에 파일을 업로드하고 그렇지 않으면 먼저 토큰을 새로 고칩니다.

파일 업로드

으아악

새로고침 토큰

으아악

위 내용은 API를 통한 Google 드라이브에 파일 업로드 실패의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제