Authentication 无法在API资源管理器上生成授权代码

Authentication 无法在API资源管理器上生成授权代码,authentication,sony,sony-lifelog-api,Authentication,Sony,Sony Lifelog Api,我正在尝试收集和下载我的lifelog用户数据。实现这一点的第一步是获取用户访问令牌。我在请求授权时遇到问题 从中,我被告知将以下代码输入API资源管理器: https://platform.lifelog.sonymobile.com/oauth/2/authorize?client_id=YOUR_CLIENT_ID&scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read 我应该收到授权码,

我正在尝试收集和下载我的lifelog用户数据。实现这一点的第一步是获取用户访问令牌。我在请求授权时遇到问题

从中,我被告知将以下代码输入API资源管理器:

https://platform.lifelog.sonymobile.com/oauth/2/authorize?client_id=YOUR_CLIENT_ID&scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read
我应该收到授权码,如下所示:

https://YOUR_CALLBACK_URL?code=abcdef
然而,目前的情况实际上是这样的:

出于安全原因,我已将下面的实际客户ID替换为我的客户ID

输入:

GET /oauth/2/authorize?client_id=MY_CLIENT_ID&scope=lifelog.profile.read%2Blifelog.activities.read%2Blifelog.locations.read HTTP/1.1
Authorization:
Bearer kN2Kj5BThn5ZvBnAAPM-8JU0TlU
Host:
platform.lifelog.sonymobile.com
X-Target-URI:
https://platform.lifelog.sonymobile.com
Connection:
Keep-Alive
HTTP/1.1 302 Found
Content-Length:
196
Location:
https://auth.lifelog.sonymobile.com/oauth/2/authorize?scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read&client_id=MY_CLIENT_ID
Access-Control-Max-Age:
3628800
X-Amz-Cf-Id:
HILH9w3eOm-6ebs_74ghegYQyWS4xyqA1l0gXPRJuuubsoZ6eiiS3g==
Access-Control-Allow-Methods:
GET, PUT, POST, DELETE
X-Request-Id:
76caccfc976d40259ef30415d10980e9
Connection:
keep-alive
Server:
Apigee Router
X-Cache:
Miss from cloudfront
X-Powered-By:
Express
Access-Control-Allow-Headers:
origin, x-requested-with, accept
Date:
Sun, 22 Jan 2017 03:00:42 GMT
Access-Control-Allow-Origin:
*
Vary:
Accept
Via:
1.1 dc698cd00b7ec82887573cfaba9ecca6.cloudfront.net (CloudFront)
Content-Type:
text/plain; charset=utf-8

Found. Redirecting to https://auth.lifelog.sonymobile.com/oauth/2/authorize?scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read&client_id=MY_CLIENT_ID
响应:

GET /oauth/2/authorize?client_id=MY_CLIENT_ID&scope=lifelog.profile.read%2Blifelog.activities.read%2Blifelog.locations.read HTTP/1.1
Authorization:
Bearer kN2Kj5BThn5ZvBnAAPM-8JU0TlU
Host:
platform.lifelog.sonymobile.com
X-Target-URI:
https://platform.lifelog.sonymobile.com
Connection:
Keep-Alive
HTTP/1.1 302 Found
Content-Length:
196
Location:
https://auth.lifelog.sonymobile.com/oauth/2/authorize?scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read&client_id=MY_CLIENT_ID
Access-Control-Max-Age:
3628800
X-Amz-Cf-Id:
HILH9w3eOm-6ebs_74ghegYQyWS4xyqA1l0gXPRJuuubsoZ6eiiS3g==
Access-Control-Allow-Methods:
GET, PUT, POST, DELETE
X-Request-Id:
76caccfc976d40259ef30415d10980e9
Connection:
keep-alive
Server:
Apigee Router
X-Cache:
Miss from cloudfront
X-Powered-By:
Express
Access-Control-Allow-Headers:
origin, x-requested-with, accept
Date:
Sun, 22 Jan 2017 03:00:42 GMT
Access-Control-Allow-Origin:
*
Vary:
Accept
Via:
1.1 dc698cd00b7ec82887573cfaba9ecca6.cloudfront.net (CloudFront)
Content-Type:
text/plain; charset=utf-8

Found. Redirecting to https://auth.lifelog.sonymobile.com/oauth/2/authorize?scope=lifelog.profile.read+lifelog.activities.read+lifelog.locations.read&client_id=MY_CLIENT_ID
我在上面的代码中看不到授权代码。我甚至试着将URL(最后一行)复制粘贴到我的浏览器中,上面写着“localhost.com响应时间太长”

这是我输入请求的地方

我不确定这是否是回调URL的问题。我没有实际的网站或应用程序,我只是使用默认的本地主机


我是这方面的初学者,非常感谢您的帮助。

您正在开发什么类型的应用程序?如果您是为android或IOS构建的,您的回调应该是。但是,当回调返回时,您必须处理它。如果您正在构建一个web应用程序,那么您需要创建一个回调页面来捕获授权回调的结果。最有可能的情况是,您必须在不指向本地主机的Web服务器上运行此代码。如果您是oAuth的初学者,最好的解决方案是使用库。现在有很多使用多种语言构建的oAuth库。谢谢Robert,尽管我不太确定该怎么做。我不是在做Android/iOS应用程序。我的最终结果是将我所有的lifelog数据(通过我的索尼手机收集)导出到一个Excel文件中,供我自己保存和分析。我想我需要获得授权和访问代码才能这样做。请告知是否正确,谢谢!我不确定web应用程序的用途。我需要域名吗?我现在只使用在API资源管理器上创建的默认应用程序。那还不够吗?嗯。。。如果你不想创建一个实际的应用程序来提取数据,你可以使用API浏览器。你在寻找比这更复杂的解决方案吗?嗨,罗伯特,我的确是。目前,我在Explorer上获得的所有数据都是未格式化的原始数据。使导入excel变得困难。它类似于一个巨大的。Txt文件。我想知道是否有其他方法可以从API Explorer导出数据。我很想做一个应用程序,但不知道怎么做。我认为如果不创建某种形式的应用程序,可能就没有一个简单的方法来完成你想要的事情。或者,Lifelog确实与IFTTT集成。有了这个,你可以注册,并在谷歌硬盘上的电子表格中自动记录你的卡路里、步数、英里/公里数。这可能对你有用吗?