Soundcloud OAuth2 API: Getting invalid_scope error after user connection

丶灬走出姿态 提交于 2020-01-13 11:14:55

问题


I'm trying to implement Soundcloud connect and having a weird issue.

First thing I do is send my users to

https://soundcloud.com/connect?client_id=MY_CLIENT_ID&redirect_uri=http://myredirecturl.example.com&state=RANDOM_STRING&display=page&response_type=code&scope=email

When users connect they get redirected to

http://myredirecturl.example.com?error=invalid_scope&error_description=The+requested+scope+is+invalid%2C+unknown%2C+or+malformed.&state=RANDOM_STRING

The same happens if I use scope=*.

However, if I use scope=non-expiring it lets me go through, but I need the users email and that type of scope doesn't have enough grants.

I thought it had something to do with my app being in development mode, but Osman at Soundcloud said it doesn't.

Thanks.


回答1:


The 'email' scope is not available to all integrations. It's used for a few custom integrations that have provided us with accepted terms of service / privacy policies. There is no way to get a user's email address using the SoundCloud API.

You should however be able to use the '*' scope to get an expiring access token. I'll check with our app team to see why this is giving you an error. I'll edit my answer once I have more information there.

For your purposes, I would stay with the 'non-expiring' scope and simply prompt a user for their email address (providing them with a way to agree to your terms of use / privacy information).




回答2:


Using scope=* sometimes doesn't work because the url is not properly encoded. If you are getting this error while using the * wildcard, try properly encoding the url, using a function like urlencode() (for PHP).



来源:https://stackoverflow.com/questions/11852778/soundcloud-oauth2-api-getting-invalid-scope-error-after-user-connection

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!