2

MindMeister API (ここに記載されているとおり: http://www.mindmeister.com/developers/authentication ) を使用してデスクトップ アプリケーションを作成しようとしています。これまでのところ、開発者ガイドに記載されているように、API キーと共有シークレットを使用して認証 URL を生成できます。これは、次のようになります。 abc123&perms=delete&api_sig=zxy987

その URL をコピーしてブラウザに貼り付けると、ログイン ページに移動します。ログインすると、アプリケーションが認証されたことが表示され、アプリケーションを続行できます。これにより、さまざまな REST API メソッドの使用を開始できます。その認証 URL に移動し、認証 URL をコピーしてブラウザーに貼り付けることなく、プログラムで MindMeister にログインしたいと考えています。

これまでのところ、私はこのようなことを試しました

        string authenticate 
          = @"http://www.mindmeister.com/services/auth/?" 
               + api_key=abc123&perms=delete&api_sig=zxy987";
        WebRequest request = WebRequest.Create(authenticate);
        @"https://www.mindmeister.com/account/login");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        //response.ResponseURI == @"https://www.mindmeister.com/account/login"

        WebRequest request2 = WebRequest.Create(response.ResponseUri);
        request2.Credentials = new NetworkCredential("username", "password");
        HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();

しかし、これは機能しません。

やりたいことを達成するためのガイダンスを得ることができますか? 基本的に、StackOverflow に他のソリューションをコピーして貼り付けただけなので、WebRequest または HttpWebResponse の経験はほとんどありません。

4

1 に答える 1

0

ドキュメントから、この方法でのログインは公式にはサポートされていないようです。APIキーを使用して動作するほとんどのサービスは、使用方法が気に入らない場合、このキーを取り消すことができます。

ただし、ユーザーがアプリケーションを起動するたびにログインが必要になるとは限りません。

frobメソッドを使用して取得し、それをログインのパラメーターとして渡すと、メソッドでmm.auth.getFrobも同じように使用できるようです。次に、このトークンをユーザーのデスクトップのどこかに保存し、これを使用して将来メソッドを使用することができます。frobmm.auth.getToken

これは、ユーザーがアプリケーションへのアクセス許可をアクティブに取り消すまで機能し続けるはずです。

于 2012-10-26T18:50:59.933 に答える