使用python获取playstation奖杯数据 API 文档

微博   微信 4天前 14:50发布  江苏   38评论
exp
参考了 github 上通过 ps api 获取奖杯的方式,比较麻烦的部分是认证 token 的获取,github 项目关于这部分写的比较简单且使用的是 powershell 的方式。此处使用 python 重写了一遍,增加了 token 的刷新,部分 api 使用方式(翻译),文章底部会附上参考来源。

API 文档
2.1 accountId(如果只获取本人游戏及奖杯数据可以跳过)

# psn id
username = ""
url = f"https://us-prof.np.community.playstation.net/userProfile/v1/users/{username}/profile2?fields=npId,onlineId,accountId,avatarUrls,plus,aboutMe,languagesUsed,trophySummary(@default,level,progress,earnedTrophies),isOfficiallyVerified,personalDetail(@default,profilePictureUrls),personalDetailSharing,personalDetailSharingRequestMessageFlag,primaryOnlineStatus,presences(@default,@titleInfo,platform,lastOnlineDate,hasBroadcastData),requestMessageFlag,blocking,friendRelation,following,consoleAvailability"

# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Bearer {access_token}"}
response = requests.get(url, headers=headers, allow_redirects=False)

# 请求成功后从账号信息中获取 accountId
accountId = response.json().get("profile").get("accountId")

测试可以通过国服账号获取其他服账号的 accountId
2.2 奖杯汇总信息

# 2.1 中获取的 accountId 或 me
accountId = "me"
url = f"https://m.np.playstation.com/api/trophy/v1/users/{accountId}/trophySummary"

# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Basic {access_token}"}
trophy_request = requests.get(url, headers=headers, allow_redirects=False)
print(trophy_request.json())

返回结果如下:

{
    "accountId": "1301***********2184",
    "trophyLevel": 301,
    "trophyPoint": 60975,
    "trophyLevelBasePoint": 60840,
    "trophyLevelNextPoint": 61740,
    "progress": 15,
    "tier": 4,
    "earnedTrophies": {"bronze": 1471, "silver": 420, "gold": 149, "platinum": 43},
}

字段类型描述
accountId字符accountId
trophyLevel数值级别
trophyPoint数值点数
trophyLevelBasePoint数值当前级别点数
trophyLevelNextPoint数值下一级所需点数
progress数值点数百分比
tier数值ps stars?
earnedTrophiesjson 对象已获取奖杯情况
2.3 全部游戏列表及奖杯信息

# 2.1 中获取的 accountId 或 me
accountId = "me"
url = f"https://m.np.playstation.com/api/trophy/v1/users/{accountId}/trophyTitles"
# params = {"limit": "", "offset": 0}
# url += "?" + "&".join([f"{key}={value}" for key, value in params.items()])

# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Basic {access_token}"}
trophy_request = requests.get(url, headers=headers, allow_redirects=False)
print(trophy_request.json())

入参说明:
参数类型描述
accountId字符使用 me 获取本人游戏数据,或获取制定账号数据
limit数值(最小 1,最大 800,默认 100)限制返回游戏数据的数量
offset数值(最小 0,最大游戏总数-1,默认 0)游戏数据索引,第一个游戏为 0,最后一个为游戏总数-1
返回结果:

{
    "trophyTitles": [
        {
            "npServiceName": "trophy2",
            "npCommunicationId": "NPWR20188_00",
            "trophySetVersion": "01.40",
            "trophyTitleName": "ASTRO’s PLAYROOM",
            "trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/035a02db-e64f-4572-8653-4a3db37fe2f6.png",
            "trophyTitlePlatform": "PS5",
            "hasTrophyGroups": true,
            "trophyGroupCount": 3,
            "definedTrophies": {
                "bronze": 31,
                "silver": 14,
                "gold": 5,
                "platinum": 1
            },
            "progress": 2,
            "earnedTrophies": {
                "bronze": 2,
                "silver": 0,
                "gold": 0,
                "platinum": 0
            },
            "hiddenFlag": false,
            "lastUpdatedDateTime": "2024-09-30T11:08:02Z"
        }
    ],
    "totalItemCount": 1
}

字段类型描述
trophyTitlesjson 对象基于入参数量限制返回的游戏具体数据
totalItemCount数值游戏总数
nextOffset数值trophyTitles 的第一个游戏索引
previousOffse数值trophyTitles 的最后一个游戏索引
trophyTitles:
字段类型描述
npServiceName字符游戏平台,trophy 为 PS3、PS4、PSV;trophy2 为 PS5、PC
npCommunicationId字符游戏的唯一 id
trophyTitleName字符游戏名称
trophyTitleDetail字符游戏描述
trophyTitleIconUrl字符游戏图标地址
trophyTitlePlatform字符游戏平台
hasTrophyGroups布尔值是否有多组奖杯,DLC 算不同组的奖杯
trophyGroupCount数组奖杯组总数
definedTrophiesjson 对象默认奖杯汇总信息
progress数值奖杯获取百分比
earnedTrophiesjson 对象已获取奖杯信息
hiddenFlag布尔值奖杯是否隐藏,只有获取本人奖杯列表时才能看到隐藏的游戏
lastUpdatedDateTime日期对象最后一个奖杯获取时间
2.4 指定游戏的奖杯信息(与账号是否拥有该游戏无关)
2.4.1 指定游戏的奖杯汇总信息

# 2.3 中获取到的游戏 npCommunicationId(宇宙机器人无线控制器指南)
npCommunicationId = "NPWR20188_00"
url = f"https://m.np.playstation.com/api/trophy/v1/npCommunicationIds/{npCommunicationId}/trophyGroups"

# 如果是 ps3、ps4、psv 游戏需要加 npServiceName 参数
# params = {"npServiceName": "trophy"}
# url += "?" + "&".join([f"{key}={value}" for key, value in params.items()])
# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Bearer {access_token}"}
trophy_request = requests.get(url, headers=headers)
print(trophy_request.json())

入参说明:
参数类型描述
npCommunicationId字符游戏的唯一 id
npServiceName字符(值:trophy)如果是 ps3、ps4、psv 游戏必须加该参数
返回结果(宇宙机器人无线控制器指南):

{
    "npServiceName": "trophy2",
    "npCommunicationId": "NPWR20188_00",
    "trophySetVersion": "01.40",
    "trophyTitleName": "ASTRO’s PLAYROOM",
    "trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/035a02db-e64f-4572-8653-4a3db37fe2f6.png",
    "trophyTitlePlatform": "PS5",
    "definedTrophies": {
        "bronze": 31,
        "silver": 14,
        "gold": 5,
        "platinum": 1
    },
    "trophyGroups": [
        {
            "trophyGroupId": "default",
            "trophyGroupName": "ASTRO’s PLAYROOM",
            "trophyGroupIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/035a02db-e64f-4572-8653-4a3db37fe2f6.png",
            "definedTrophies": {
                "bronze": 26,
                "silver": 13,
                "gold": 3,
                "platinum": 1
            }
        },
        {
            "trophyGroupId": "001",
            "trophyGroupName": "ASTRO’s PLAYROOM [ADD-ON]",
            "trophyGroupIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/07628edd-c7e7-4762-9409-edcece03a12d.png",
            "definedTrophies": {
                "bronze": 1,
                "silver": 0,
                "gold": 2,
                "platinum": 0
            }
        },
        {
            "trophyGroupId": "002",
            "trophyGroupName": "ASTRO’s PLAYROOM [ADD-ON] ",
            "trophyGroupIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/1c8dc8da-12c2-4a5a-a6f0-d89f2fd9c6c1.png",
            "definedTrophies": {
                "bronze": 4,
                "silver": 1,
                "gold": 0,
                "platinum": 0
            }
        }
    ]
}

字段类型描述
npServiceName字符游戏平台,trophy 为 PS3、PS4、PSV;trophy2 为 PS5、PC
npCommunicationId字符游戏的唯一 id
trophyTitleName字符游戏名称
trophyTitleDetail字符游戏描述
trophyTitleIconUrl字符游戏图标地址
trophyTitlePlatform字符游戏平台
definedTrophiesjson 对象默认奖杯汇总信息(全部包含 DLC)
trophyGroupsjson 对象分组奖杯汇总信息
trophyGroups:
字段类型描述
trophyGroupId字符奖杯组的 id
trophyGroupName字符奖杯组名称
trophyGroupIconUrl字符奖杯组图标地址
definedTrophiesjson 对象默认奖杯组信息
2.4.2 指定游戏的奖杯具体信息
在 2.4.1url 后加上 trophyGroupId 及"/trophies"

# 2.3 中获取到的游戏 npCommunicationId(宇宙机器人无线控制器指南)
npCommunicationId = "NPWR20188_00"

# 2.4.1 中的 trophyGroupId 获取本体、dlc 奖杯具体信息或 all 返回所有奖杯具体信息
trophyGroupId = "all"
url = f"https://m.np.playstation.com/api/trophy/v1/npCommunicationIds/{npCommunicationId}/trophyGroups/{trophyGroupId}/trophies"

# 如果是 ps3、ps4、psv 游戏需要加 npServiceName 参数
# params = {"npServiceName": "trophy","limit": "", "offset": 0}
# url += "?" + "&".join([f"{key}={value}" for key, value in params.items()])
# 1.3 及 1.4 中获取的 access_token
# headers 中增加 Accept-Language 设置请求结果的语音
headers = {
    "Authorization": f"Bearer {access_token}",
    "Accept-Language": "zh-hans-cn",
}
trophy_request = requests.get(url, headers=headers)
print(trophy_request.json())

入参说明:
参数类型描述
npCommunicationId字符游戏的唯一 id
trophyGroupId字符(all、default、001)奖杯组 id,all 表示所有,defalut 一般为本体
npServiceName字符(值:trophy)如果是 ps3、ps4、psv 游戏必须加该参数
limit数值(最小 1,最大 400,默认所有)限制奖杯返回的数量

{
    "trophySetVersion": "01.40",
    "hasTrophyGroups": true,
    "trophies": [
        {
            "trophyId": 0,
            "trophyHidden": false,
            "trophyType": "platinum",
            "trophyName": "大功告成!",
            "trophyDetail": "已集齐宇宙机器人无线控制器使用指南中的所有奖杯。我们下次冒险再见!",
            "trophyIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/4e1f7ad7-5720-4b03-96a4-ecf8abb17ed8.png",
            "trophyGroupId": "default"
        },
        {
            "trophyId": 50,
            "trophyHidden": true,
            "trophyType": "bronze",
            "trophyName": "名胜之旅",
            "trophyDetail": "成功救出困在冷却泉水中的特殊机器人。",
            "trophyIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR20188_00/ba591bf0-7303-4e5b-bb92-72f5e52b16f4.png",
            "trophyGroupId": "002"
        }
    ],
    "totalItemCount": 51
}

字段类型描述
hasTrophyGroups布尔值是否存在多组奖杯
trophiesjson 对象奖杯信息
totalItemCount数值奖杯总数
trophies:
字段类型描述
trophyId数值奖杯索引
trophyHidden布尔值奖杯是否隐藏
trophyType字符奖杯类型(白金、金、银、铜)
trophyName字符奖杯名称
trophyDetail字符奖杯详细信息
trophyIconUrl字符奖杯图标地址
trophyGroupId字符所属奖杯组 id
2.5 指定游戏的奖杯获取信息
2.5.1 指定游戏的奖杯获取汇总信息

# 2.1 中获取的 accountId 或 me
accountId = "me"

# 2.3 中获取到的游戏 npCommunicationId(宇宙机器人无线控制器指南)
npCommunicationId = "NPWR20188_00"
url = f"https://m.np.playstation.com/api/trophy/v1/users/{accountId}/npCommunicationIds/{npCommunicationId}/trophyGroups"

# 如果是 ps3、ps4、psv 游戏需要加 npServiceName 参数
# params = {"npServiceName": "trophy"}
# url += "?" + "&".join([f"{key}={value}" for key, value in params.items()])
# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Bearer {access_token}"}
trophy_request = requests.get(url, headers=headers)
print(trophy_request.json())

入参说明:
参数类型描述
accountId字符使用 me 获取本人游戏数据,或获取制定账号数据
npCommunicationId字符游戏的唯一 id
npServiceName字符(值:trophy)如果是 ps3、ps4、psv 游戏必须加该参数
返回结果(宇宙机器人无线控制器指南):

{
    "trophySetVersion": "01.40",
    "hiddenFlag": false,
    "progress": 93,
    "earnedTrophies": {
        "bronze": 27,
        "silver": 13,
        "gold": 5,
        "platinum": 1
    },
    "lastUpdatedDateTime": "2023-02-18T11:54:37Z",
    "trophyGroups": [
        {
            "trophyGroupId": "default",
            "progress": 100,
            "earnedTrophies": {
                "bronze": 26,
                "silver": 13,
                "gold": 3,
                "platinum": 1
            },
            "lastUpdatedDateTime": "2023-02-18T11:42:16Z"
        },
        {
            "trophyGroupId": "001",
            "progress": 100,
            "earnedTrophies": {
                "bronze": 1,
                "silver": 0,
                "gold": 2,
                "platinum": 0
            },
            "lastUpdatedDateTime": "2023-02-18T11:54:37Z"
        },
        {
            "trophyGroupId": "002",
            "progress": 0,
            "earnedTrophies": {
                "bronze": 0,
                "silver": 0,
                "gold": 0,
                "platinum": 0
            }
        }
    ]
}

字段类型描述
hiddenFlag布尔值奖杯是否隐藏,只有获取本人奖杯列表时才能看到隐藏的游戏
progress数值奖杯获取百分比
earnedTrophiesjson 对象已获取奖杯汇总信息
lastUpdatedDateTime日期对象最后一个奖杯获取时间
trophyGroupsjson 对象分组获得奖杯信息
trophyGroups:
字段类型描述
trophyGroupId字符奖杯组 id
progress数值奖杯组获取百分比
earnedTrophiesjson 对象奖杯组已获取情况
lastUpdatedDateTime日期对象该组最后一个奖杯获取时间
2.5.2 指定游戏的奖杯获取具体信息
在 2.5.1url 后加上 trophyGroupId 及"/trophies"

# 2.1 中获取的 accountId 或 me
accountId = "me"

# 2.3 中获取到的游戏 npCommunicationId(宇宙机器人无线控制器指南)
npCommunicationId = "NPWR20188_00"

# 2.4.1 中的 trophyGroupId 获取本体、dlc 奖杯具体信息或 all 返回所有奖杯具体信息
trophyGroupId = "all"
url = f"https://m.np.playstation.com/api/trophy/v1/users/{accountId}/npCommunicationIds/{npCommunicationId}/trophyGroups/{trophyGroupId}/trophies"

# 如果是 ps3、ps4、psv 游戏需要加 npServiceName 参数
# params = {"npServiceName": "trophy","limit": "", "offset": 0}
# url += "?" + "&".join([f"{key}={value}" for key, value in params.items()])
# 1.3 及 1.4 中获取的 access_token
headers = {"Authorization": f"Bearer {access_token}"}
trophy_request = requests.get(url, headers=headers)
print(trophy_request.json())

入参说明:
参数类型描述
accountId字符使用 me 获取本人游戏数据,或获取制定账号数据
npCommunicationId字符游戏的唯一 id
trophyGroupId字符(all、default、001)奖杯组 id,all 表示所有,defalut 一般为本体
npServiceName字符(值:trophy)如果是 ps3、ps4、psv 游戏必须加该参数
limit数值(最小 1,最大 400,默认所有)限制奖杯返回的数量
offset数值(最小 0,最大奖杯总数-1,默认 0)奖杯数据索引,第一个游戏为 0,最后一个为奖杯总数-1
返回结果(宇宙机器人无线控制器指南,部分省略):

{
    "trophySetVersion": "01.40",
    "hasTrophyGroups": true,
    "lastUpdatedDateTime": "2023-02-18T11:54:37Z",
    "trophies": [
        {
            "trophyId": 0,
            "trophyHidden": false,
            "earned": true,
            "earnedDateTime": "2023-02-18T11:42:16Z",
            "trophyType": "platinum",
            "trophyRare": 0,
            "trophyEarnedRate": "4.6"
        },
        {
            "trophyId": 50,
            "trophyHidden": true,
            "earned": false,
            "trophyType": "bronze",
            "trophyRare": 0,
            "trophyEarnedRate": "1.0"
        }
    ],
    "rarestTrophies": [
        {
            "trophyId": 44,
            "trophyHidden": true,
            "earned": true,
            "earnedDateTime": "2023-02-18T11:52:55Z",
            "trophyType": "gold",
            "trophyRare": 0,
            "trophyEarnedRate": "3.8"
        }
    ],
    "totalItemCount": 51
}

字段类型描述
hasTrophyGroups布尔值是否存在多组奖杯
lastUpdatedDateTime日期对象最后一个奖杯获取时间
trophiesjson 对象获得奖杯信息
rarestTrophiesjson 对象获得最珍贵奖杯信息
trophies、rarestTrophies:
字段类型描述
trophyId数值奖杯 id
trophyHidden布尔值奖杯是否隐藏
earned布尔值是否获得
progress字符对于支持追踪进度的奖杯,当前完成的步骤数(PS5 专属)
progressRate数值对于支持追踪进度的奖杯,奖杯进度百分比(PS5 专属)
progressedDateTime日期对象对于支持追踪进度的奖杯,上次更新奖杯进度的日期(PS5 专属)
earnedDateTime日期对象获得日期
trophyType字符奖杯类型
trophyRare数值稀有度(0:极为珍贵、1:非常珍贵、2:珍贵、3:一般)
trophyEarnedRate数值奖杯珍贵度百分比

参考:PlayStation Trophies API
评论
这个方式获取的奖杯数据信息,跟直接查用户有什么区别

P9好像是不用授权token就能查,授权查到的是跟PSApp里面一样吗?
incucc 4天前 17:42 广东
@incucc 如果有了token,可以查其他人或自己的数据。和psapp数据是一样的。api是从app中抓包拿到了。
zz-werke 3天前 14:33 江苏
如果有需要,日后可以直接使用psray项目的api
我们基于github上的一些psn-api项目,搭建一套公开的playstation api服务和网站,对于后续会对开发者免费提供
遗憾的是,现在没有时间来编写api文档,并且api会根据这边需求调整返回字段和请求参数,请不要用于正式的项目中

示例:例如需要获取个人资料,可以请求(请把最后替换成具体psnid)
https://api.psray.net/profile/get/abyssmoe
abyssmoe 前天 12:16修改 日本
所以这个网站是看奖杯吗?还是干嘛的
coffeebean0421 前天 10:39 广东
有这必要么
ssalor_1997 前天 10:59 北京
正好前段时间也在搞自己的奖杯页,踩了点坑,用的是这个项目 https://psn-api.achievements.app/
npsso 以及获取到的 access_code 是有时效的,如果一直从这边走会要定期手动更新 npsso
但是用 refresh_token 去获取 access_token 时,在满足一定条件下会自己续 refresh_token 的剩余时间,来达到完全自动化,具体可以看这个 https://psn-api.achievements.app/api-docs/authentication#exchangerefreshtokenforauthtokens

目前自己的奖杯页初步已经完成,主要为了能够自定义别名,同时显示别名和原名,并且可以自定义展示的奖杯组且支持排序,这样我给别人展示我某个系列的奖杯就可以直接发一个地址
unclesev 前天 14:06修改 上海
这个能获取游戏时长吗? 比如p9的在个人简介中输入特定字符,就可以获取,这种才方便
sephirothwkh 前天 12:49 四川
@sephirothwkh 楼主列出的几个api接口不可以。可以获取,当要用别的接口。
abyssmoe 前天 13:41 日本
扒数据最好就别明目张胆的发了
rookie926 前天 13:59 辽宁
@rookie926 虽然索尼没有像steam那样公开数据接口,并且在这方面限制和管理比较模糊暧昧。但是开源社区的大家,还是研究了些方法获取数据,方便开发者们为玩家构建一些psn游戏相关的app或事网站服务。先不管是否用来盈利了,大家都希望为ps社区宣传,为本来就少的psn社区吸引更多的玩家。
扯远一点,说真的我感觉国内ps群体的新人越来越少,只剩下老登了。去年我搬家的时候送了朋友一台ps5,然后他至今都没怎么开机过。身边的人也大多在玩手机游戏和pc游戏。希望有能力的人,给PS玩家提供更好更方便的交流地方和功能,让更多人接触入坑ps,这是我们的理想。
abyssmoe 前天 14:35 日本
上面的client_id和client_secret公开后,后来的人重新获取token,之前的不就失效了吗?
kongou233 前天 15:02 江苏
获取auth_code时报错有大佬知道原因么?
{
"error": "invalid_request",
"error_code": 4098,
"error_description": "Mandatory parameter 'client_id' is missing"
}
skyfantasyhong 前天 15:31 北京
@rookie926 这是索尼公开的api接口,公开api接口就是让大家进行合理调用的。和某些用Python无视规则扒数据还是有区别的,属于api的合法扩展应用
left_little_fox 前天 15:55 广西
@kongou233 client_id目前看是固定的参数,多年没有更新了。
zz-werke 前天 17:15 江苏
@abyssmoe 请教下,官方有获取游戏时长的借口吗?
zz-werke 前天 17:17 江苏
@left_little_fox 应该也不是索尼公开的,目前看应该是从ps app应用中抓包拿到的。
zz-werke 前天 17:20 江苏
@skyfantasyhong 1.1成功拿到npsso了吗,1.2中需要替换npsso变量。
zz-werke 前天 17:24 江苏
@unclesev 使用refresh_token刷新access_token后也会返回refresh_token。文章只是简单写了下逻辑,具体代码需要自己构建。
zz-werke 前天 17:34 江苏
@zz-werke 拿到npsso了,也加到header里了,但是一调就报错
skyfantasyhong 前天 18:02 北京
@abyssmoe 惭愧了,几年前在黑盒搞过主机社区,但是因为老板觉得来钱慢就不想做了。索尼也不想搞基本盘,坐吃山空可太正常了。不如说大部分人都觉得可持续发展是个笑话,而且是全方位的只考虑眼前和自己了。
srvenx-07 昨天 13:37 河北
@skyfantasyhong 是不是少了参数,我今天测试也是没问题的。看报错像是少了client_id。
zz-werke 昨天 14:19 江苏
@zz-werke 但是参数都填了啊,是哪里的问题呢
skyfantasyhong 昨天 15:14 北京
@skyfantasyhong 起码参数得齐全了吧
params = {
"access_type": "offline",
"client_id": "09515159-7237-4370-9b40-3806e67c0891",
"response_type": "code",
"scope": "psn:mobile.v2.core psn:clientapp",
"redirect_uri": "com.scee.psxandroid.scecompcall://redirect",
}
nikezhang 昨天 16:07 北京
@srvenx-07 没,其实终究是在说漂亮话而已,现实就是费力回报少。作为独立开发者,开发的越久,越是迷茫还要不要坚持下去。要不是几位可爱的群友精神上的支持,我可能放弃了。

在这里谢谢他们。
abyssmoe 昨天 16:33修改 日本
@nikezhang 是写全了的,只不过截图挡住了
skyfantasyhong 昨天 16:40 北京
@skyfantasyhong 换postman试试,apifox可能会不好用
palmsprings_ 昨天 17:08 山东
@palmsprings_ 请教一下,cookies的值是npsso={获取到的npsso}的格式么?
skyfantasyhong 昨天 17:39 北京
@skyfantasyhong 当使用GET Method的时候,参数应该填写在query中。你的这张截图的请求头部对应的是http headers,query参数是http query。如果填写在请求体(body)中。不会有效的
abyssmoe 昨天 19:13修改 日本
@skyfantasyhong 你如果用apifox的,这个请求响应是302没有response
zz-werke 昨天 20:52修改 江苏
@palmsprings_ @abyssmoe @zz-werke 
用postman了,响应也是302了,但location里怎么感觉还是不对?求大佬赐教
skyfantasyhong 7小时前 北京
@skyfantasyhong 参数顺序可能不对,cccess_type client_id redirect_uri respose_type scpoe 按照这个顺序试一下
palmsprings_ 6小时前 山东
@palmsprings_ 换顺序了,还是不行唉
skyfantasyhong 5小时前 北京
@skyfantasyhong 和参数顺序没关系,在postman中是能正常拿到location的,settings中有个配置Automatically follow redirects自动重定向,需要关了,默认是打开的。
zz-werke 2小时前修改 江苏
@zz-werke Automatically follow redirects我关了,不关都不是302而是200,现在问题就是结果拿到location了但里面的内容不对
skyfantasyhong 2小时前 北京
@zz-werke 我的location里不是com.scee开头的,而是https://my.account.sony.com/sonyacct/signin开头的,不知道问题在哪
skyfantasyhong 2小时前 北京
@skyfantasyhong headers中加cookie了吗
zz-werke 2小时前 江苏
@zz-werke 加cookie了,还是不行,headers我是6个hidden你是8个,跟这个有关系么?
skyfantasyhong 54分钟前 北京
@skyfantasyhong 其他参数是postman默认的
zz-werke 6分钟前 江苏
回复不能
T