ティアのホームページ☆ミ:ID 1208:タイトル 中級編 oC
no prev page 1/1ページ(1件) no next page
To Close..中級編 2014年11月06日15時39分
先日の記事をバッサリしました。


ふんだんに間違えております。


まず、OneDrive関連の開発をする人は、ここを見ましょう。

http://msdn.microsoft.com/ja-jp/onedrive

日本語サイトです☆ ありがたいです。

で、ここでログインしておくと便利なのか、その先でログインしておいた方が便利なのかは微妙なんですが、

ダッシュボードのタブのリンクを開くと

ここ
https://account.live.com/developers/applications

へ飛ばされます。

こここそが、マイアプリ用のクライアントIDを発行してくれる場所です。


注)
先日の販売者ダッシュボードは、別のクライアントIDを発行するので、oAuth用クライアントIDと書かれては居ますが、それを発行しただけでは、OneDriveへのアクセスは出来ません。


で、正しい方での話ですが・・・
「マイ アプリ」を押したり、「アプリケーションの作成」を押したりすると、アプリケーションの登録画面が出来るので、好きな名前でアプリケーションの作成をします。

Windows8用とかを押すと、ストアアプリ用の有料サイトに飛ばされるので、デスクトップアプリの場合は「Windows ストア ダッシュボード」は押さないで、そのまま名称を入れて「同意する」を押します。

すると、それ以外の情報を設定する画面が出るので、主に必須項目を入れるだけで、OKです。
クライアントIDを取得する場合は、API設定の所で
「モバイル クライアント アプリ/デスクトップ クライアント アプリ:」を「はい」にして、保存します。

販売者ダッシュボードのように面倒な設定は一切無く、セキュアコードも不要ですし、リダイレクトURLも要りません。


そう、これで、簡単に発行出来る上・・・・販売者ダッシュボードのように、アカウントの承認も要りません。


あっ、ちなみに、承認はされました☆

念のため取っておこうかと思います。


で、設定したアプリの名称やアイコンやらメモやらは、ログイン画面で表示されますので、それなりにちゃんとやった方が良いかと思います。


ってことで、その辺りを適当にこなせば、晴れて接続が出来る様になります。

ちなみに、販売者ダッシュボードで発行されるクライアントIDはクラスIDの用なとても長いもので、ハイフンで繋がれていますが、

正しい方は?16桁くらいの英数字です。

ってことで、正しい?アクセル用のアドレスは以下の通り

https://login.live.com/oauth20_authorize.srf?client_id=クライアントID&scope=wl.skydrive_update&response_type=token&redirect_uri=https://login.live.com/oauth20_desktop.srf

読み込み専用のscopeはwl.skydriveですね。


これでアクセストークンが帰ってきます。

ユーザーのログイン画面で、無事ログインが完了すると、アクセス権確認画面がひょうじされ、OKすると、画面はリダイレクトされて、

https://login.live.com/oauth20_desktop.srf#access_token=超長いコード&token_type=bearer&expires_in=3600&scope=wl.skydrive_update&user_id=IDらしい

の画面が表示されます。

ちなみに、真っ白な画面です。

で、ここで重要なのが、アドレスに付いている#access_token以下です。
アクセストークンは800文字以上の超長い文字。

処理が完了してログアウトするまでこの値はずっと必要です。

webbrowserコントロールを利用している場合は

DocumentCompletedのe

WebBrowserDocumentCompletedEventArgs.Url.Fragment
を確認して#以下が格納されていればアクセストークンが正しく帰ってきています。

そうで無い場合、DocumentCompletedは、ログイン処理中に何回かリダイレクトがある関係で、何度も呼びだされますので、アドレスが正しいか確認してから、内容を取得する様にした方が良いですね。


さて、ここまでwebBrowserで対応してきた人も、ここから先は出来ません。

なぜって・・・・実際のアクセスを行うときは「skydrive.json」とかって名前でデータが帰ってきますし、そもそもhtml形式では無いからです。

webbrowserでは名前を付けて保存しますか?ってダイアログが出て非常に不便です。

これ以降は、
System.Net.WebClientでも使った方が良いでしょうか?

webbrowserと違い、プロクシの設定とかが必要になるのかもしれませんので、ご注意を☆

で、実際のこれ以降のアクセス方法については、次回をお待ち下さい☆ミ
閉じる
テーマ:日記 URL:https://tsukiyori.sakura.ne.jp/index_m.cgi?ID=1208
 
no prev page 1/1ページ(1件) no next page