RSS

Google Drive API v2 から v3 への移行でつまづいたいくつかの点

16 6月

Google Drive API .NET を使って v2 から v3 へアプリケーションを移行するのにつまづいた点をまとめました。

1 フィールド(プロパティ)の名前が変わった

File オブジェクトのフィールド(プロパティ)が変わっています。一番影響を受けるのが、ファイルの名前で v2 では Title プロパティで取得していたのが v3 からは Name プロパティになります。ファイルの日時も …Date から …Time に変わりました。他にもあるかしれませんが、よく使いそうなところとしてはこんなところでしょうか。

2 ファイル情報(フィールド)の取得方法

v2 ではファイル情報は全部返してきたかと思いますが、v3 では取得するものを指定しないと Nothing (C# では null) が返されます。取得項目は GetRequest の Fields プロパティにカンマ区切りテキストで指定します。このフィールド名は大文字小文字が正確でないとエラーになります。

Public Function GetFile(ByVal id As String) As Data.File
  Dim request As FilesResource.GetRequest = service.Files.Get(id)
  request.Fields = "name,id,parents,size,description,modifiedTime,mimeType"
  Dim File As Data.File = request.Execute()
  Return file
End Function

3 ファイルの場所がトップレベル(Root)かの判別

v2 では Parents コレクションの要素 (ParentRefernce 型) に IsRoot プロパティというのがあって簡単に判別できたのですが、v3 ではParents コレクションの要素は String 型(フォルダのId)に変わっています。
この Id を使って File オブジェクトを取得するとファイルの場所がトップレベル(Root)でも有効な Id が取得されます。この Id から名前 (Name プロパティ) を取得すると “マイドライブ” (日本語版の場合)となります。
したがって、ファイルの場所がトップレベルかどうかは、親のフォルダの Id を使って親の名前を取得し、それが”マイドライブ”であるかを確認するしかないようです。(どこかに IsRoot みたいのがあるかもしれませんが)

とりあえず、つまづいたところは現在のところ以上です。

 
コメントする

投稿者: : 2016/06/16 投稿先 Google, VB

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。