Google Fit REST API-带空格的dataStreamId结果出错

Google Fit REST API-带空格的dataStreamId结果出错,rest,api,oauth-2.0,google-fit,oauth2-playground,Rest,Api,Oauth 2.0,Google Fit,Oauth2 Playground,我想使用谷歌的RESTAPI来获取我账户的健康数据。为此,我随后打了两次电话 得到。这将返回所有可用数据源的列表,如[1]所示 邮局。 我使用[1]中请求正文中的数据类型名称和dataStreamId来构建请求正文[2] 问题是:第二个调用为所有包含空格的DataSourceID返回一个错误[3],尽管它们在第一个请求中以这种方式返回。在代码示例中有空格,因为dataSourceId包含电话型号“Nexus5”。如果没有空格,则请求成功,不会出现错误 我已经尝试过用其他东西(“%20”或“_”或

我想使用谷歌的RESTAPI来获取我账户的健康数据。为此,我随后打了两次电话

  • 得到。这将返回所有可用数据源的列表,如[1]所示

  • 邮局。 我使用[1]中请求正文中的数据类型名称和dataStreamId来构建请求正文[2]

  • 问题是:第二个调用为所有包含空格的DataSourceID返回一个错误[3],尽管它们在第一个请求中以这种方式返回。在代码示例中有空格,因为dataSourceId包含电话型号“Nexus5”。如果没有空格,则请求成功,不会出现错误

    我已经尝试过用其他东西(“%20”或“_”或“+”)替换空格,但没有任何效果。这是API中的错误还是我做了一些根本错误的事情

    提前谢谢

    编辑1: 顺便说一句,我正在使用谷歌的oauth游乐场,选择了所有健身范围。

    编辑2: 在代码示例[2]中,我使用了错误的dataTypeName。是“activity\u confidence”,但应该是“com.google.activity.samples”

    [1] 得到回应

        {
          "dataSource": [
            {
              "application": {
                "packageName": "com.google.android.gms"
              },
              "dataQualityStandard": [
              ],
              "dataStreamId": "derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus 5:c80045fc:detailed",
              "dataStreamName": "detailed",
              "dataType": {
                "field": [
                  {
                    "format": "map",
                    "name": "activity_confidence"
                  }
                ],
                "name": "com.google.activity.samples"
              },
              "device": {...},
              "type": "derived"
            },
            ...
          ]
        }
    
    [2] 柱体

        {
          "aggregateBy": [
            {
              "dataSourceId": "derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus 5:c80045fc:detailed",
              "dataTypeName": "com.google.activity.samples"
            }
          ],
          "endTimeMillis": 1511132400000,
          "startTimeMillis": 1510268400000
        }
    
    [3] POST错误消息

        {
          "error": {
            "code": 400,
            "errors": [
              {
                "domain": "global",
                "message": "datasource not found: derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus 5:c80045fc:detailed",
                "reason": "invalidArgument"
              }
            ],
            "message": "datasource not found: derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus 5:c80045fc:detailed"
          }
        }
    

    您是否尝试使用转义字符,如“\”

    您的数据流ID如下所示

    derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus\ 5:c80045fc:detailed
    

    您是否尝试使用转义字符,如“\”

    您的数据流ID如下所示

    derived:com.google.activity.samples:com.google.android.gms:LGE:Nexus\ 5:c80045fc:detailed
    

    @schnuchel,你知道这件事吗?我也遇到了同样的问题,RRY,仍然不知道如何让它工作…抱歉,仍然不知道如何让它工作…Google Fit的API非常差:(一次难得的失手Google@schnuchel,你有没有想过这个问题?我也有同样的问题,rry,仍然不知道如何让它工作…抱歉,仍然不知道如何让它工作…Google Fit的API非常差:(这是Google罕见的失误。)