使用Domino Designer 9.0.1FP3如何使用Gmail API?
尝试使用此链接https://developers.google.com/gmail/api/quickstart/java的示例Java代码,但没有任何运气,如下所示:
任何帮助将不胜感激。
这是与gmail api交互的java代理:
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;
import lotus.domino.*;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;
//import com.google.api.*;
/***/The following lines has error "import can not be resolved". I've imported jar and their sources from gmail .jar file zip***
import com.google.api.services.gmail.*;
import com.google.api.services.gmail.GmailScopes;
import com.google.api.services.gmail.model.*;
import com.google.api.services.gmail.Gmail;
public class JavaAgent extends AgentBase {
public void NotesMain() {
/** Application name. */
final String APPLICATION_NAME =
"Gmail API Java Quickstart";
/** Directory to store user credentials for this application. */
final java.io.File DATA_STORE_DIR = new java.io.File(
System.getProperty("user.home"), ".credentials/gmail-java-quickstart");
FileDataStoreFactory DATA_STORE_FACTORY;
/** Global instance of the JSON factory. */
final JsonFactory JSON_FACTORY =
JacksonFactory.getDefaultInstance();
HttpTransport HTTP_TRANSPORT;
/* Global instance of the scopes required by this quickstart. */
final List<String> SCOPES =
// Arrays.asList(com.google.api.services.gmail.GmailScopes.)//.GMAIL_LABELS);
Arrays.asList(com.google.api.)
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
} catch(Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:2)
好的,您需要确保API实际上可以在Java 1.6上运行,如提及的那样。
您可以通过多种方式将jar添加到Domino:
<强> 1。在JVM ext / lib目录中
这很好用 - 维护是一件很痛苦的事情,因为需要在文件系统(也在Domino Designer中)中完成。这适用于XPage和代理。
<强> 2。将jar附加到您的代理/脚本库
这仅适用于在代理(或webservices)中运行的代码。但是,每次调用代码时都会发生内存泄漏(并且jar在内部分离)。所以不要使用这个!
第3。将jar添加为jar设计元素
这也应该有效 - 尽管我没有太多经验。我担心与上述元素相同的问题 - 但没有证据。所以你可能很好用这个 - 只适用于XPages。
<强> 4。将jar添加为插件
你可以将jar包装到一个OSGi插件中并在服务器范围内部署它(上面的2和3只使jar可以在jar内部使用jar)。这是我的首选方式。我写了article about the details,可以帮助你。
/约翰
答案 1 :(得分:0)
没有更多的编译错误。