2016-11-22 1 views
3

Android 용 Gmail API를 구현할 때 오류가 있습니다. 내 스코프 :Android Gmail API 메시지 403 오류

private static final String[] SCOPES = { GmailScopes.GMAIL_LABELS, GmailScopes.GMAIL_COMPOSE, 
      GmailScopes.GMAIL_INSERT, GmailScopes.GMAIL_MODIFY, GmailScopes.GMAIL_READONLY, GmailScopes.MAIL_GOOGLE_COM }; 
내가 할 수있는

메시지 ID를 가져 :

Log.i("messages.get(0)", messages.get(0).toPrettyString()); 
안드로이드 모니터에서

:

getGmailMessage(mService, user, "1588ae7e991a62f2"); 

public static Message getGmailMessage(Gmail service, String userId, String messageId) throws IOException { 
    Message message = service.users().messages().get(userId, messageId).execute(); 
    System.out.println("Message snippet: " + message.getSnippet()); 
    System.out.println("Message getHeaders: " + message.getPayload().getHeaders().get(0)); 
    System.out.println("Message toPrettyString: " + message.getPayload().toPrettyString()); 
    return message; 
} 
:

I/messages.get(0): {"id": "1588ae7e991a62f2","threadId" : "1588ae7e991a62f2"} 

하지만 특정 메시지를받을 때

나는 n 오류 :

다음 오류가 발생했습니다 : 403 Forbidden { "code": 403, "errors": [{ "domain": "global", "message": "메타 데이터 범위에서 FULL 형식을 허용하지 않습니다" , "이유": "금지"}], "메시지": 모든 }

나는 새로운 프로젝트에 내 코드를 실행 작동하는 "메타 데이터 범위는 전체 포맷을 허용하지 않습니다." 왜?

+0

하나의 범위 만 지정할 수 있습니까 - "https://mail.google.com/"? – noogui

+0

여전히 403이지만 새 프로젝트에서 코드를 실행하면 모든 것이 작동합니다. –

+0

이 [gmail 포럼] (https://productforums.google.com/forum/?hl=ko&visit_id=1-636155567612734690-3399201708&rd=1#!topic/gmail/UkGDuzzSk_s;context-place=topicsearchin/gmail/403)에 따르면 20 달러 오류) 캐시를 지우면 대개이 문제가 해결됩니다. 새 프로젝트가 작동하는 이유 여야합니다. – noogui

답변

-1

시도 GmailScopes.GMAIL_METADATA을 추가하면 스코프 또는 단순히 당신이 "메타 데이터"범위를 제거해야합니다 GmailScopes.all() 방법

+1

이 변경 사항은 도움이되지 않습니다. –

0

를 사용합니다.

체크 응용 프로그램 권한 확인 만이 3 개 범위이 있는지 확인합니다 : 읽기 전용

  1. https://mail.google.com/
  2. gmail.modify

을, 또는 다른 권한을 제거하고 다시 추가 .

관련 문제