标签: fitbit

Chrome CustomTab错误:java.lang.NoSuchMethodError:没有静态方法startActivity

我正在尝试使用 Chrome 自定义选项卡将 Fitbit 与我的应用程序连接。但我收到以下错误。

java.lang.NoSuchMethodError: 类 Landroid/support/v4/app/ActivityCompat 中没有静态方法 startActivity(Landroid/app/Activity;Landroid/content/Intent;Landroid/os/Bundle;)V; 或其超类(“android.support.v4.app.ActivityCompat”的声明出现在 /data/data/com.life.myApp.app/files/instant-run/dex/slice-com.android.support-support -compat-25.0.1_a32c44837a06d33159cc113605aa7f1cb8d56675-classes.dex) 在 android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:200) 在 com.life.myApp.app.ThirdPartyLibrary.TrackersDevies.FitBitTrack er.LoginFitTrackers.onActivityCreated(LoginFitTrackers.java :208)在android.app.Fragment.performActivityCreated(Fragment.java:2289)在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1008)在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1164)在android .app.BackStackRecord.run(BackStackRecord.java:793) 在 android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1557) 在 android.app.FragmentManagerImpl$1.run(FragmentManager.java:488) 在 android.os.Handler .handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread. java:7223) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 在 com.android.internal.os.ZygoteInit。主要(ZygoteInit.java:1120)

这是我的 gradle 文件

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 24
buildToolsVersion '24.0.1'

dexOptions {
    javaMaxHeapSize "4g"
    incremental = true;

}

defaultConfig …
Run Code Online (Sandbox Code Playgroud)

java android fitbit start-activity chrome-custom-tabs

5
推荐指数
1
解决办法
4661
查看次数

使用Python检索Fitbit心率数据

我一直在使用Fitbit Python包来分析我的数据.当我查看我的运动数据时,它似乎运作得很好:

fitbit_stats = authd_client._COLLECTION_RESOURCE('activities', date='2015-09-16')
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试获取心率数据时,它会运行,但不会返回除0以外的任何内容:

fitbit_stats = authd_client._COLLECTION_RESOURCE('heart', date='2015-09-16')
print fitbit_stats
Run Code Online (Sandbox Code Playgroud)

{'heart':[],'average':[{'tracker':'Resting Heart Rate','heartRate':0},{'tracker':'Normal Heart Rate','heartRate':0},{ 'tracker':'发挥心率','heartRate':0}]}

有谁知道我为什么不在这里返回任何数据?

python fitbit

4
推荐指数
1
解决办法
2937
查看次数

Firefox 或互联网浏览器的 FitBit oAuth 问题

我已将 Fitbit 与我的 Android 应用程序集成。我在使用 Chrome 浏览器连接 Fitbit 时没有遇到任何挑战,但当我尝试将其连接到 Firefox 或默认互联网浏览器时,它不起作用。

以下是我正在使用的意图过滤器:

<activity
            android:name=".MyActivity"
            android:launchMode="singleTop"
            android:resizeableActivity="false"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar">

            <!-- FitBit intent filter to get call back data for Authentication API -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>

                <data android:scheme="myfitbit"/>
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)

请建议。

browser authentication android oauth fitbit

4
推荐指数
1
解决办法
167
查看次数

Chrome 自定义标签不会在重定向时关闭

我正在使用 chrome 自定义选项卡从自定义选项卡的重定向中获取 oAuth 连接请求,我在应用程序中成功重定向。唯一的问题是 chrome 自定义选项卡在重定向时不会关闭,留在堆栈中。

在自定义选项卡中启动 url 的代码如下。

customTabsIntent = new CustomTabsIntent.Builder(mCustomTabsSession)
                                                                .setToolbarColor(ContextCompat.getColor(getBaseContext(), R.color.colorPrimary))
                                                                .setStartAnimations(getBaseContext(),
                                                                        R.anim.slide_in_right, R.anim.slide_out_left)
                                                                .setExitAnimations(getBaseContext(),
                                                                        android.R.anim.slide_in_left, android.R.anim.slide_out_right)
                                                                .setShowTitle(true)
                                                                .build();
                                                        customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                                                       customTabsIntent.intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 customTabsIntent.launchUrl(Settings_Activity.this, Uri.parse(fitbitUrlBuilder.toString()));
Run Code Online (Sandbox Code Playgroud)

我尝试在清单文件中使用“singleTask”和“singleInstance”,但问题仍然存在。

如果我只使用意图“FLAG_NO_HISTORY”,它就可以工作。但是我需要强制使用“FLAG_ACTIVITY_NEW_TASK”,因为存在某种边缘情况,例如,如果特定站点的令牌被删除,我们尝试重新验证浏览器在 android 7.1 版上崩溃,需要再次手动启动应用程序。

对此的任何帮助表示赞赏。

android oauth-2.0 fitbit chrome-custom-tabs

3
推荐指数
1
解决办法
2635
查看次数

Fitbit帐户在Android中集成

我正在开发一个与医学相关的应用程序,我必须在我的应用程序中实现FitBit设备.

我正在关注它的FitBit开发人员工具,但我无法集成它,如果我在没有FitBit库的情况下手动操作,我无法在身份验证后备份我的应用程序.

我的代码如下 -

    private void login() {

            try {

                HttpResponse response = null;
                HttpParams httpParameters = new BasicHttpParams();
                HttpConnectionParams.setConnectionTimeout(httpParameters, 20000);
                HttpConnectionParams.setSoTimeout(httpParameters, 20000);
                HttpClient client = new DefaultHttpClient(httpParameters);

                HttpGet request = new HttpGet(
                        "http://api.fitbit.com/oauth/request_token?oauth_consumer_key=7af733f021f649bcac32f6f7a4fe2e9a&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1358921319&oauth_nonce=456236281&oauth_callback=http://www.androidhub4you.com/&oauth_version=1.0&oauth_token=5cefb18d2a80073520211f03f8d75321&oauth_signature=QdVUzMvT6tveGyoPu%2BEevzvo07s%3D");
                response = client.execute(request);

                BufferedReader rd = new BufferedReader(new InputStreamReader(
                        response.getEntity().getContent()));

                String webServiceInfo = "";
                while ((webServiceInfo = rd.readLine()) != null) {
                    Log.e("****Step 1***", "Webservice: " + webServiceInfo);
                    authToken = webServiceInfo.substring(12, 44);
                    Log.e("Auth token:", "Webservice: " + authToken);

                }

            } catch (Exception e) {
                // TODO: handle …
Run Code Online (Sandbox Code Playgroud)

android callback fitbit

2
推荐指数
1
解决办法
5286
查看次数

如何在iOS Swift中获取应用程序的CFBundleURLSchemes

我已经制作了一个演示项目App1,其中我添加了一个按钮,它将重定向到安装的应用程序假设App2(" fitbit ")我已经通过了很多教程,基本上知道如何通过第二个答案"这个应用程序不允许查询方案cydia"IOS9错误.但是我需要在App1中的LSApplicationQueriesSchemes中提到App2的URL方案(" fitbit ").

在此输入图像描述

所以基本上问题是如何获得像fitbit这样的应用程序的URL Schemes .

在此输入图像描述

这是我的代码

var url  = NSURL(string: "itms://itunes.apple.com/in/app/fitbit/id462638897?mt=8")
@IBAction func redirectOnclick(_ sender: Any) {
        let urlFitBt  = NSURL(string: "fitbit://")
        if UIApplication.shared.canOpenURL(urlFitBt! as URL)
        {
            UIApplication.shared.open(urlFitBt! as URL)
        }
        else
        {
            UIApplication.shared.open(url! as URL)

        }

    }
Run Code Online (Sandbox Code Playgroud)

objective-c url-scheme ios fitbit swift

2
推荐指数
1
解决办法
1297
查看次数

FitBit API集成IOS

我正在使用FitBit API来获取活动.作为回应,我正在获得一系列JSON活动.对于每个活动,他们提供一些细节,如姓名,activityId,卡路里等,但日期和时间不可用.是否有任何API可以获取活动详细信息以及开始日期和时间.

iphone ios fitbit

1
推荐指数
1
解决办法
3002
查看次数

Scrapy DOWNLOAD_DELAY不适用于顺序requets

我目前正在使用Scrapy Python库.

首先,我对Fitbit的登录页面(https://www.fitbit.com/login)进行FormRequest调用以登录.然后我向Fitbit的API发出近100个请求(https://api.fitbit.com).

为了不强调API(并且不被禁止!),我想在settings.py文件中使用DOWNLOAD_DELAY在请求之间设置延迟.但它不起作用.

我在教程(http://scrapy.readthedocs.io/en/latest/intro/tutorial.html)中测试它,它在那里正常工作.

你怎么看?是因为我要求一个API(应该处理那种访问)?

编辑:这是我的蜘蛛的伪代码:

class FitbitSpider:
    start_urls = ["https://www.fitbit.com/login"]

    def parse(self, response):
        yield scrapy.FormRequest(url,formdata,callback=after_login)

    def after_login(self, response):
        for i in range(100):
            yield scrapy.Request("https://api.fitbit.com/[...]")
Run Code Online (Sandbox Code Playgroud)

编辑2:这是我的settings.py文件:

BOT_NAME = 'fitbitscraper'

SPIDER_MODULES = ['fitbitscraper.spiders']
NEWSPIDER_MODULE = 'fitbitscraper.spiders'

DOWNLOAD_DELAY = 20 #20 seconds of delay should be pretty noticeable 
Run Code Online (Sandbox Code Playgroud)

python api scrapy fitbit

1
推荐指数
2
解决办法
694
查看次数

PHP cURL 授权类型无效/不受支持

我正在尝试使用 php 和 cURL 向 Fitbit oauth 2.0 api 发出请求。我可以获得我的授权代码,但无法设法将代码交换为令牌。Fitbit api 文档说(https://dev.fitbit.com/docs/oauth2/#access-token-request)我需要发布代码、客户端 ID、重定向 uri 并将授予类型设置为“authorization_code”。

但是,我在打印响应时不断收到错误消息。

"errorType":"unsupported_grant_type","message":"不支持授权 grant_type。有关 Fitbit Web API 授权流程的更多信息,请访问https://dev.fitbit.com/docs/oauth2。"}],"成功":false}

对于我的生活,我无法弄清楚我在下面的代码做错了什么。有什么建议?

$code = $_GET['code'];
$url = 'https://api.fitbit.com/oauth2/token';

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
 'code=' . $code . '&' .
 'client_id=' . $oauth2_client_id . '&' .
 'redirect_uri=' . $oauth2_redirect . '&' .
 'grant_type=authorization_code'
                                            )
  );

curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Authorization: Basic '. base64_encode($oauth2_client_id.':'.$oauth2_secret),
    'Content-Type: …
Run Code Online (Sandbox Code Playgroud)

php curl oauth-2.0 fitbit php-curl

0
推荐指数
1
解决办法
2726
查看次数

为Fitbit刷新访问令牌

我正在将fitbit集成到我的应用程序中,我不希望用户每次都重定向到SafariViewController以获取访问令牌,因为我存储了访问令牌,但24小时后访问令牌即将到期.

在fitbit Fitbit OAuth 2.0的API中,有一个参数expires_in用于定义访问令牌的到期时间.在该参数中,我传递31536000了1年,但之后,访问令牌也在24小时内到期,之后我必须将用户重定向到SafariViewController.

那么,是否有任何解决方法,以便我不必将用户重定向到SafariViewController,我将通过它在后台刷新令牌的任何方法,类似的东西.

任何帮助,将不胜感激.

干杯!!!!!

objective-c ios oauth-2.0 fitbit

0
推荐指数
1
解决办法
500
查看次数