都内で働くSEの技術的なひとりごと

都内でサラリーマンやってます。マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。よろしくお願いします♪

オーオースで OneDrive にアクセスしてみた

 色々と衝撃的なことが発生しますなぁ。ちょっと気を落ち着かせるため、いつもと違った内容について書こうかと思います...OAuth のお勉強を兼ねて、OAuth を使って OneDrive へアクセスしてみたいと思います。OAuth に関しては、下記の内容を参照すると非常にわかりやすいと思います。

www.slideshare.net
www.slideshare.net

 それでは、早速試してみましょう。dev.onedrive.com

 青枠のリンクをクリックします。
f:id:koogucc11:20151119133932p:plain
 
 青枠の Get Token をクリックします。
f:id:koogucc11:20151119134058p:plain

 はい をクリックすると、トークンを取得できます。
f:id:koogucc11:20151119134329p:plain
 
 青枠の部分がアクセストークンです。
f:id:koogucc11:20151121123626p:plain

 OneDrive へ OAuth を使ってアクセスするための、URL Root は、https://api.onedrive.com/v1.0 です。この URL と先ほど取得したアクセストークンを使用して、OneDrive に接続します。例えば、ドライブの情報を取得するには、下記のようなリクエストを GET します。

https://api.onedrive.com/v1.0/drive?access_token=EwCYAq....<中略>....9kAQ==

 結果が JSON で返却されます。利用者のIDとか、名前とか、OneDrive の容量とかがわかりますね。

{
    "@odata.context": "https://api.onedrive.com/v1.0/$metadata#drives/$entity", 
    "driveType": "personal", 
    "id": "○○○○○○○○○", 
    "owner": {
        "user": {
            "displayName": "○○○○○○○○○", 
            "id": "○○○○○○○○○", 
            "thumbnails": {
                "large": {
                    "height": 1198, 
                    "url": "https://storage.live.com/users..........UserTileCroppedOriginal", 
                    "width": 1198
                }, 
                "medium": {
                    "height": 180, 
                    "url": "https://storage.live.com/users/..........profilephoto:UserTileMedium", 
                    "width": 180
                }, 
                "small": {
                    "height": 96, 
                    "url": "https://storage.live.com/users/..........profilephoto:UserTileStatic", 
                    "width": 96
                }, 
                "source": {
                    "url": "https://storage.live.com/users/..........profilephoto:WebReady"
                }
            }
        }
    }, 
    "quota": {
        "deleted": .........., 
        "remaining": .........., 
        "state": "normal", 
        "total": .........., 
        "used": ..........
    }
}

 各開発言語に対応したライブラリもあるみたいですね。3連休でプログラミングしてみます。Visual Studio 2015 インストールしたけど、一回起動しただけ....
OAuth 2.0 — OAuth
 
 ちょっと、中途半端な記事ですが、そろそろ新横浜に到着するので、以上にしたいと思いますm(__)m

※勉強しなきゃね。

Getting Started with OAuth 2.0

Getting Started with OAuth 2.0

※結局、これかった。※この前買ったのは、認識せず、返品。