2015-07-29 19 views
5

:Gmail API dönen durum kodu 400, hata "etkin değil Posta servisi" Geçenlerde gmail API aşağıdaki hatayı görmeye başladı

{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "message" : "Mail service not enabled", 
    "reason" : "failedPrecondition" 
    } ], 
    "message" : "Mail service not enabled" 
} 

Ive'sınav Her gmail api çağrısı hataya neden olur, ancak executeAndLog Gmail.Users.Messages.List nesnesinde .Execute çağırır

public static List<String> getThreadIdsFromRFC822MessageIds(Collection<String> messageIds, User u) throws IOException, NoOauthCredentialsException { 
    List<String> queryTerms = new ArrayList<>(); 
    for (String messageId: messageIds) { 
     queryTerms.add("rfc822msgid:" + messageId); 
    } 
    String queryString = Joiner.on(" OR ").join(queryTerms); 
    String fieldSelectionString = "messages/threadId"; 

    ListMessagesResponse messages = executeMessageQuery(u, queryString, fieldSelectionString); 
    List<String> threadIds = new ArrayList<>(); 
    if (messages.getMessages() != null) { 
     for (Message m : messages.getMessages()) { 
      threadIds.add(m.getThreadId()); 
     } 
    } 
    return threadIds; 
} 

private static ListMessagesResponse executeMessageQuery(User u, String queryString, String fieldSelectionString) throws IOException, NoOauthCredentialsException { 
    assert fieldSelectionString.length() > 0; 
    Gmail g = GmailAPIHelper.getGmailService(u); 
    Gmail.Users.Messages.List query = g.users().messages().list("me").setQ(queryString).setFields(fieldSelectionString); 
    ListMessagesResponse messages = executeAndLog(query, u); 
    return messages; 
} 

: kod ardından normal bir örneğini göstermektedir.

Bu hata, yalnızca çok az sayıda kullanıcımı etkiliyor ve hata iletisi, bunun izinlerle ilgili bir sorun olduğunu gösteriyor. Kullanıcılarıma yeniden yetki vermelerini istemek, sorunu çözecek olmasını beklemekteyim, ancak bir izin problemi olduğunda daha fazla olağan 401 yerine bu hata mesajını alıyorum. Bu hatayı gören oldu mu?

+0

adresinden kontrol edin. Https://console.developers.google.com adresine gidin ve gmail API'sini etkinleştirin. – Nabin

+3

Bu oldukça yeni; Dizin API'sındaki hesap için isMailboxSetup bayrağına karşılık gelmelidir: https://developers.google.com/admin-sdk/directory/v1/reference/users#isMailboxSetup. Bu yanlışsa, hesap için Gmail API'si kullanılamaz. –

cevap

1

Deneme süreniz dolmuş olabilir. Durumunuzu admin.google.com