過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2011/08/07
skydrive をプログラムから制御

 
skydrive をプログラムから制御するのに、SkyDriveServiceClient.v2.0.2b
使ってみた。
skydrive_common
言語は C# です。skydrive プロトコルの解析に利用したのですが、最初の
認証にて、何のパラメータを付与するのか https なので解析できなかった。
 
ライブラリとしては問題なし。ただしアップロードして生成された URL を取得
できないようなので、結局使う意味が無い。
 
解析結果を途中まで公開しますので、どなたか解析を…
◆1
POST http://docs.live.net/SkyDocsService.svc
 
まずは post アクセス。ここでは location と WWW-Authenticate を取得するのが目的。302 が必ず返却。user-agent などがあると 403 が返って来ます。

送信する content-type は text/xml ; charset=utf-8
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body>
<GetWebAccountInfoRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/clouddocuments">
<BaseRequest>
<ClientAppId>SkyDrive Service Client</ClientAppId>
<Market>en-US</Market>
<SkyDocsServiceVersion>v1.0</SkyDocsServiceVersion>
</BaseRequest>
<GetReadWriteLibrariesOnly>false</GetReadWriteLibrariesOnly>
</GetWebAccountInfoRequest>
</s:Body>
</s:Envelope>
     
◆2
Response 下記の HTTP ヘッダが返って来ます。
Location: https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=xxxxxxx&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fdocs.live.net:101%2FSkyDocsService.svc&lc=xxx&id=xxxxxxx
 
WWW- Authenticate: Passport1.4 ct=1312698601,rver=6.1.6206.0,wp=MBI,lc=1033,id=250206
    
 
◆3
2番に https でアクセスし CID と Authenticate を取得する。たぶん。
 
上記の3番の段階で止まってます。3番通過後は、ほぼ解決できそう。
 
この一連の流れとは別としてなら、Windows Live ID にログイン可能なのですが、
WebDav を使う手順での認証が不明。
 
WWW-Authenticate: 、メールアドレス、パスワード Authenticate  として
ヘッダに付与して POST すれば良いのだろうか?
 
または POST データ部として送る?
 
その場合メールアドレスなら login キーで良いのかな。だとするなら HTML から
解析しないと、メールアドレスのキーワード値がわからん。
 
WebDav の汎用手順での認証なのか Microsoft 固有の認証なのかも不明。
 
 
C#歴 3時間の自分に無理です。
これを読んだあなた。どうか真相を暴いてください。それだけが私の望みです。
 
追記: SkyDriveConnection で解決できそう。

0 コメント:

  • コメントには <b>, <strong>, <em>, <i>, <a> など一部の HTML タグを使用できます。