Alarm senkronizasyonu için üçüncü taraf bir fitbit uygulaması oluşturmayı planlıyorum. Android Uygulamaya zaten yetki verildiğinde Chrome özel sekmeleri/Fitbit web API'sı yeniden yönlendirilmez. (OAuth2.0)
Ancak, uygulamanızın kaydına ilişkin bazı zorluklarla karşılaştım; daha önce istemciye uygulamanızın kayıtlı olmasına rağmen, erişim belirtecini alma konusunda daha açık bir şekilde karşılaştım. (Bir kullanıcının uygulamasını yeniden yüklediği senaryoyu dikkate alarak).
(WebView Fitbit tarafından yasaklanmıştır gibi) Ben erişim göstergesi istemek için Chrome özel sekmeler kullanıyorum:
: Intent-filtreli tanımlanan özel şemaya yönlendirme üzerineString url = "https://www.fitbit.com/oauth2/authorize?" +
"response_type=token" +
"&client_id=XXXXXX" +
"&scope=activity"+
"&redirect_uri=fitbittester://logincallback";
customTabsIntent.launchUrl(MainActivity.this, Uri.parse(url));
public class TestActivity extends AppCompatActivity {
String string;
@Override
protected void onNewIntent(Intent intent) {
string = intent.getDataString();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
onNewIntent(getIntent());
Toast.makeText(TestActivity.this, string , Toast.LENGTH_LONG).show();
Log.e("TAG", string);
Log.e("TAG", string.substring(string.indexOf("&access_token")+14));
}
: Bana verilen Niyet benim AccessToken elde edeceğiniz yerlere
Test Etkinliği baĢlatmalı}
İlk kullanımda her şey iyi çalışıyor (istemcinin zaten yetkilendirilmemiş olması şartıyla sağlanıyor), ancak daha sonra erişim belirtecimi tekrar almak isterseniz (yerel olarak depolamam gerektiğini biliyorum - SharedPreferences büyük olasılıkla, Ancak bu yalnızca test amaçlıdır. Krom özel sekmeler açılacak ve boş bir sayfada kalacaktır (görünüşte doğru bir şekilde yönlendirilmeyecektir).
FitBit WEB API'sini okudum ve şunları yazıyor: Implicit Grant akışını kullanan bir uygulama, önceden verilmiş erişim belirtecinin süresi dolmadan önce bir kullanıcı yetkilendirme sayfasına gönderirse, kullanıcı sizden kapsamı arttı. Kullanıcı bir erişim belirteci ile hemen uygulamaya yönlendirilecek.
Sorunuzla ilgili bir düşüncemde sorun olup olmadığını veya
bir krom özel sekme hatasıyla kesişmem gerekiyor mu?
Çok önceden şimdiden teşekkür ederiz.
Ben de aynı sorunla karşı karşıya am, Fitbit çok hayal kırıklığı desteği. Özel chrome sekme davranışlarını incelemeden yazdıkları güzel belgeleri söyleyebilirim. – pyus13