我想使用Gmail API(不是JavaMail)發送電子郵件。我在論壇上看過很多類似的話題,但我仍然有問題。嘗試使用Java API中的Gmail API發送電子郵件時出錯
首先,我這樣說的:https://developers.google.com/gmail/api/guides/sending
我impelemented方法:的MimeMessage createEmail,信息createMessageWithEmail和消息的sendMessage
然後我注意到,我沒有對象Gmail服務的定義,所以我需要一個類GmailQuickstart,這是在這裏:https://developers.google.com/gmail/api/quickstart/java
和我實現:類GmailQuickstart,方法憑證授權()和方法的Gmail getGmailService()
最後我寫了一個主:
public static void main(final String[] args) throws MessagingException, IOException {
String APPLICATION_NAME = "gmailProject";
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();
Credential credential = GmailQuickstart.authorize();
String to = "[email protected]";
String from = "[email protected]";
String subject = "Subject";
String bodyText = "Body";
MimeMessage emailcontent = createEmail(to, from, subject, bodyText);
createMessageWithEmail(emailcontent);
Gmail service = new com.google.api.services.gmail.Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME).build();
sendMessage(service, "me", emailcontent);
}
這之後,我有錯誤的長列表:
Exception in thread "main"com.google.api.client.googleapis. json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Insufficient Permission",
"reason" : "insufficientPermissions"
} ],
"message" : "Insufficient Permission"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJs nResponseException.java:146)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1065)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at org.actuarlib.outsourcing.mail.Mail.sendMessage(Mail.java:78)
at org.actuarlib.outsourcing.mail.Mail.main(Mail.java:195)
我知道,在堆大約有類似的錯誤很多話題,但我不知道如何糾正它。 任何人都可以告訴我發生了什麼問題,或者您知道使用Gmail API發送電子郵件的另一種方式嗎?
你在哪裏提供的授權證書('client_secret.json')?錯誤表示您的憑據丟失或無效。 –
這個文件我在同一個文件夾中,我有我的課 –