スポンサーリンク
スコープは設定しているのにエラー
Google API Client Library for JavaScriptで、Googleフォトに画像をアップロードする時は、以下のコードのように、mediaItems.batchCreate
を使用して登録します。
var restRequest = gapi.client.request({
'path': 'https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',
'method': 'POST',
'body': {
'albumId': "AGxxxx....",
'newMediaItems' : [
{
'description': "test batch create",
'simpleMediaItem': {
'uploadToken': uploadToken,
'fileName': 'Sample File Name'
}
}
],
'albumPosition': {
'position': "FIRST_IN_ALBUM"
}
}
});
body
パマラメータにアルバムID(albumId)を指定すると、アルバムにも画像を登録することができますが、その時 「No permission to add media items to this album.」 といったエラーが表示されることがあります。
スポンサーリンク
アプリで作成したアルバムにしか登録できない
原因は、GAPIの権限(scope)不足かと思いましたが、実はmediaItems.batchCreate
では、アプリで作成したアルバム以外には、画像を登録できません。
そのため、ユーザー自身が作成したアルバムや、別のアプリで作成されたアルバムに登録しようとすると、上記のようなパーミッションエラーが発生します。
アプリで、albums.createでアルバムを作成してから、mediaItems.batchCreateでアルバムに登録するという手順であれば、問題なく画像が登録できます。
0 件のコメント:
コメントを投稿