アプリから Youtube データ API を使用しようとしています。YouTube アカウント全体を管理するのではなく、動画をアップロードする許可をリクエストしたいだけです。
スコープhttps://www.googleapis.com/auth/youtube.uploadのアクセス トークンをリクエストしようとすると、無効なスコープであるというエラーが返されます。アプリに Youtube v3 データ API へのアクセス許可を付与しました。
v3 youtube ドキュメントによると、これらはサポートされているスコープです: https://www.googleapis.com/auth/youtube - YouTube アカウントを管理します。 https://www.googleapis.com/auth/youtube.readonly - YouTube アカウントを表示します。 https://www.googleapis.com/auth/youtube.upload - YouTube 動画をアップロードし、YouTube 動画を管理します。
これら3つのうち、私にとって機能するのは「https://www.googleapis.com/auth/youtube」だけです。
これは私が試みている要求です:
curl -d "client_id=id&scope=https://www.googleapis.com/auth/youtube.upload" https://accounts.google.com/o/oauth2/device/code
そして、これは応答です:
{
"error" : "invalid_scope",
"error_description" : "Not authorized to request the scopes: [https://www.googleapis.com/auth/youtube.upload]",
"error_uri" : "http://code.google.com/apis/accounts/docs/OAuth2.html"
}
このタイプのリクエストは、デバイス コードでは機能しないのではないかと考えています。youtube.upload スコープ リクエストは、oauth2 プレイグラウンドで正常に機能するようです。