4

我正在尝试实现 Soundcloud 连接并遇到一个奇怪的问题。

我要做的第一件事是将我的用户发送到

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

当用户连接时,他们会被重定向到

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

如果我使用scope=*.

但是,如果我使用scope=non-expiring它可以让我通过,但我需要用户电子邮件,并且这种类型的范围没有足够的授权。

我认为这与我的应用程序处于开发模式有关,但Soundcloud 的 Osman 说它没有

谢谢。

4

2 回答 2

4

“电子邮件”范围不适用于所有集成。它用于一些自定义集成,这些集成为我们提供了可接受的服务条款/隐私政策。无法使用 SoundCloud API 获取用户的电子邮件地址。

但是,您应该能够使用“*”范围来获取即将到期的访问令牌。我会与我们的应用团队核实,看看为什么这会给你一个错误。一旦我在那里获得更多信息,我将编辑我的答案。

出于您的目的,我将保留“非过期”范围,并简单地提示用户输入他们的电子邮件地址(为他们提供同意您的使用条款/隐私信息的方式)。

于 2012-08-08T21:24:07.197 回答
0

使用scope=*有时不起作用,因为 url 没有正确编码。如果您在使用通配符时遇到此错误*,请尝试使用urlencode()之类的函数(对于 PHP)正确编码 url。

于 2016-05-04T13:02:58.760 回答