2012-08-07 2 views
4

Soundcloud를 구현하려고하는데 이상한 문제가 있습니다. 사용자가Soundcloud OAuth2 API : 사용자 연결 후 invalid_scope 오류가 발생합니다.

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

에 리디렉션 연결하면 내가 할

우선 내가 scope=*를 사용하는 경우 같은 일이 발생

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 

내 사용자를 보낼 것입니다.

그러나 내가 scope=non-expiring을 사용하면 사용자 이메일과 범위 유형에 충분한 보조금이 필요하지 않습니다.

내 앱이 개발 모드에있는 것과 관련이 있다고 생각했지만 Osman at Soundcloud said it doesn't.

감사합니다.

답변

4

모든 통합에서 '이메일'범위를 사용할 수 없습니다. 수락 된 서비스 약관/개인 정보 취급 방침을 제공 한 몇 가지 맞춤형 통합에 사용됩니다. SoundCloud API를 사용하여 사용자의 이메일 주소를 얻는 방법은 없습니다.

그러나 만료 액세스 토큰을 받으려면 '*'범위를 ​​사용할 수 있어야합니다. 왜 이것이 오류를 일으키는 지 알기 위해 앱 팀에 확인해 보겠습니다. 더 많은 정보가 있으면 대답을 편집 할 것입니다.

귀하의 목적 상 '만료되지 않는'범위를 유지하고 사용자에게 이메일 주소를 물어 봅니다 (이용 약관/개인 정보 보호에 동의하는 방법 제공).

+3

폴 감사합니다. 이메일을 통해 말했듯이, 사용자가 Facebook, Twitter 및 Soundcloud를 사용하여 내 사이트 (전자 메일 및 암호 만 필요함)에 로그인 할 수있게하는 것이 아이디어였습니다. 구현 과정에서 트위터가 사용자에게 전자 메일을 보내지 않는다는 것을 알았습니다. 사용자가 외부 서비스를 사용하여 사이트에 연결하게하는 요점은 가입 절차의 속도를 높이는 것입니다.). 이메일 주소를 물어볼 필요가 있다면 요점을 잃어 버리게됩니다. – luchomolina

0

scope=*을 사용하면 URL이 제대로 인코딩되지 않아 작동하지 않는 경우가 있습니다. * 와일드 카드를 사용하는 중에이 오류가 발생하는 경우 urlencode() (PHP의 경우)과 같은 함수를 사용하여 URL을 올바르게 인코딩 해보십시오.

관련 문제