- Katılım
- 11 Mayıs 2016
- Mesajlar
- 1.015
- Çözümler
- 15
Merhaba arkadaşlar, Flutter'da Spotify Web API kullanmaya çalışıyorum ki API'yi kullanmak için authorization gerekli. Bunun için önce kullanıcının giriş yapabilmesi için belli parametreler vererek bir URL launch ediyoruz, yani tarayıcıda açıyoruz. Bu da bizi Spotify giriş sayfasına yönlendiriyor, girişi yaptıktan sonra uygulamaya geri dönmek yerine tarayıcı açık kalıyor ve callback ile gelmesi gerekenleri ekranda görüyoruz. Bu gelen "code" adı altında gelen query parametresini nasıl alabiliriz?
Kullandığım fonksiyon:
Bu da uygulamada görünen son ekran:
Çözüm: https://localhost yerine uygulamaismi://localhost yazdım sorun çözüldü. Callbacklerde http şeması kullanırsak tarayıcı bizi yönlendirmiyormuş. Bir de url_launcher yerine bu paketi de içeren flutter_web_auth2 isimli paketi kullandım. Üstüne çok da sağlıklı oldu.
Kullandığım fonksiyon:
Kod:
void openAuthorizationUrl() async {
final clientId = 'cd3acde01...da7efbc';
final redirectUri = 'https://localhost:8888/callback';
final scope = 'user-read-private user-read-email user-top-read';
final response_type = 'code';
final authorizationUrl =
'https://accounts.spotify.com/authorize?response_type=$response_type&client_id=$clientId&scope=$scope&redirect_uri=$redirectUri';
if (await canLaunchUrl(Uri.parse(authorizationUrl))) {
var x = await launchUrl(Uri.parse(authorizationUrl));
} else {
throw 'Could not launch $authorizationUrl';
}
}
Bu da uygulamada görünen son ekran:
Çözüm: https://localhost yerine uygulamaismi://localhost yazdım sorun çözüldü. Callbacklerde http şeması kullanırsak tarayıcı bizi yönlendirmiyormuş. Bir de url_launcher yerine bu paketi de içeren flutter_web_auth2 isimli paketi kullandım. Üstüne çok da sağlıklı oldu.
Dosya Ekleri
Son düzenleme: