我正在嘗試以下代碼。控制檯打印出一個URL(粘貼到我的瀏覽器的地址欄後)將我發送到谷歌的用戶同意頁面,並要求獲得訪問我的帳戶的權限。然後它將我重定向到我的html頁面 - 非常好。Java - GMail API - 授權碼
現在,我不確定我是否收到令牌或授權碼。我從哪裏獲得?然後是否必須發送來自Web應用程序的HTTP休息呼叫以與Gmail API請求一起發送,還是可以通過JAVA來實現?
public class People {
public void setUp() throws IOException {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
String clientId = "client_id";
String clientSecret = "secret";
String redirectUrl = "http://localhost:8080/TestingGmailMail/webapps/login.html";
String scope = "https://www.googleapis.com/auth/contacts.readonly";
String authorizationUrl = new GoogleBrowserClientRequestUrl(clientId,redirectUrl,Arrays.asList(scope)).build();
// Point or redirect your user to the authorizationUrl.
System.out.println("Go to the following link in your browser:");
System.out.println(authorizationUrl);
}
}
我不是一位java專家,但客戶端庫應該爲您處理所有這些問題你有沒有試過閱讀本教程? https://developers.google.com/gmail/api/quickstart/java#prerequisites – DaImTo
非常感謝 - DalmTo!是的,我已經嘗試閱讀它,並發現它非常愚蠢..我會嘗試通過圖書館tho –
當您開始使用Google API時,它非常混亂。我不能幫助java,但也許我可以幫助你一點。 GoogleAuthorizationCodeFlow處理來自用戶的請求認證,它保存認證(不知道在java中的哪個地方)應該是refreshtoken和訪問令牌。 getGmailService將爲您提供訪問API的權限,它將在需要時獲取新的訪問令牌。你所做的一切都將通過Gmail服務 – DaImTo