序章
Google Drive APIが新しくなって便利になってますね〜!
昔ちょっとやったことがあったのですが、もうそりゃ苦労した記憶があります。
APIが新しくなってから初めてGoogle DriveのAPIを使用してみましたが、
少しはまったので、はまりポイントをご紹介します。
本題
ご存じのようにGoogle Driveを使用するときは、SDカードのリードライト権限をマニフェストに
記載します。
<permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
まず、これじゃダメです。
<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
じゃないとダメです。
次に、
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application ・・・>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
・
・
・
</application>
</manifest>
これ一見良いように見えるのですが・・・
いや、実際これで、SDの中のリードは出来るようです。
でもこれじゃダメです。
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application ・・・>
・
・
・
</application>
</manifest>
こうじゃないとSDへの書き込みがダメです。
要はパーミッションはapplicationの外で記載しないとダメだよってことです。
大事なのでもう一回言います
パーミッションはapplicationの外で!
まとめ
パーミッションはapplicationタグの外で宣言しよう!
そうしないと意外なところではまっちゃうよというお話でした。
Google Drive APIの使い方については、後ほど(気が向いたら)書きます。