私は今これを行う方法を理解しようとしている間、これについて私の頭をバッシングしてきました。私は、成功したGoogleウェブマスターツールからCSVをダウンロードしたいと考えています。ただし、アクセスしたいアカウントのユーザー名とパスワードを直接渡す必要があります。ウェブマスターツールの他のすべての側面については、私は単にユーザーのログインを持っており、そこから再利用可能なセッショントークンを使用してトークンを交換します。Javaのgoogleウェブマスターのトップクエリ
クエリデータの取得に関しては、この方法を使用できないようです。
String next = "http://xyz.domain.com/auth"; //sets page to goto after user log's in so we can pass the token to application
String scope = "http://www.google.com/webmasters/tools/feeds"; // sets the scope of the token
boolean secure = false;
boolean session = true;
String urlFromAuthSub = AuthSubUtil.getRequestUrl(next, scope, secure, session); //generates the URL to forward user to loginto google.
キャプチャページ(上記のコードの次のパラメータ)で、ログインに成功した後にトークンを受信します。その後、セッショントークンと交換します。
String token = "##########################";
String sessionToken = AuthSubUtil.exchangeForSessionToken(token, null);
//store sessionToken for all future use to interact with webmaster for this user.
は、最終的に、我々は単に私たちのWebmasterToolsService
オブジェクトを作成し、それをセッショントークンにAuthSubToken
だし、DONEセット!
ただし、CSVをダウンロードしようとすると、Googleユーザーの完全な認証情報を使用する以外に選択肢はありません。
String host = "www.google.com";
String dl_list_url = "/webmasters/tools/downloads-list?hl=%s&siteUrl=%s";
String sites_path = "/webmasters/tools/feeds/sites/";
WebmasterToolsService svc = new WebmasterToolsService("DemoQuery Service");
svc.setUserCredentials("[email protected]", "123456");
その後、私は完全なクライアントログインを渡しているので、ウェブマスターAPIで何かできます。しかし、私が構築しているアプリケーションでは、ユーザーに完全なGoogle資格情報を格納しないようにする必要があります。
私はGoogleのウェブマスターAPIを追加したときに何とかこれを解消することができた会社を見ました。しかし、私はそれが可能である方法を見ているようです。何か案は?