論介以外のgwtアプリケーションがあり、ユーザーがgoogledocsapiを介してオンラインでドキュメントを作成できるようにするモジュールがあります。
これを行うには、最初にユーザーにドキュメントの名前とタイプを入力するように依頼します。次に、指定されたパラメータを使用してgoogle docs apiを介して新しいドキュメントを作成し、そのサーブレットのonSucces部分が、クライアント側で新しいドキュメントを開くために使用される編集リンクを返します。作成したドキュメントを編集するページ。
問題は、editLinkユーザーを開こうとするたびに、ログイン情報を入力する必要があるということです。これを解決するために、私はGoogleクライアントログインを使用しようとしますが、私は完全に失われていると思います。
まず、ユーザーのユーザー名とパスワードを持っていて、それらを直接使用できます。検索した後、通常はこのようなトークンを返すいくつかの例を試しました。今、私はトークンで何をすべきですか?ログインプロセスを完了するためにどのように使用できますか、またはログインを行うための別の方法を完全に見つける必要がありますか?これらすべてのoauth1、oauth2などのドキュメントは私を少し混乱させました。
これが私のステップです。
サーバ側;
LinkedHashMap<String, String> hashMap = new LinkedHashMap<String, String>();
// Login
DocumentList docList = new DocumentList("document");
docList.login(ServletUtil.googleDocsLoginInfo().get("username"), ServletUtil.googleDocsLoginInfo().get("password"));
//Create document with a unique suffix
String docName= parameterName+ "-Created-" + new Date();
docList.createNew(docName, dosyaTur);
// Find the created document and store editLink
DocumentListFeed feed = docList.getDocsListFeed("all");
for (final DocumentListEntry entry : feed.getEntries()) {
if (entry.getTitle().getPlainText().equals(docName)) {
hashMap.put("editlink", entry.getDocumentLink().getHref());
}
}
return hashMap;
そしてクライアント側。
@Override
public void onSuccess(LinkedHashMap<String, String> result) {
String editLink = result.get("editlink");
Window.open(editLink,"newwindow","locationno");
}
あなたの助けをありがとう。