调用wps开放平台【获取 Schema】api报错:unable to read user permission

Viewed 29

image.png 操作步骤如下: 1。构造授权跳转链接 参考文档:https://open.wps.cn/documents/app-integration-dev/server/certification-authorization/user-authorization/flow.html#%E6%9E%84%E9%80%A0%E6%8E%88%E6%9D%83%E8%B7%B3%E8%BD%AC%E9%93%BE%E6%8E%A5
拼接好的授权链接为:https://openapi.wps.cn/oauth2/auth?client_id=AK20250113BCAHSP&response_type=code&redirect_uri=https://hook.jijyun.cn/v1/accept/data/webhook_accept_first/0lHw2hauWUFjNQOGpbk3mYfe7Ad6rRsZ&scope=kso.dbsheet.readwrite,kso.dbsheet.read&state=1111111111111111111
调用该api获取到的code为:kso_ac_s4qkTv-I5RM1PA9rhOvC72VGiOP77h3rPR7RcqCB-XA.sgZtgLBCN4FrjGBWcIkm2X2uLPUfR_plMWny3BeJkzA

2。获取用户 access_token 参考文档:https://open.wps.cn/documents/app-integration-dev/server/certification-authorization/get-token/get-user-access-token 拼接好的访问url和调用如下:

curl --location --request POST 'https://openapi.wps.cn/oauth2/token' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: */*' \
--header 'Host: openapi.wps.cn' \
--header 'Connection: keep-alive' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'client_id=AK20250113BCAHSP' \
--data-urlencode 'client_secret=2df5f6d58b74d60ed0d121ad8aecbb53' \
--data-urlencode 'code=kso_ac_s4qkTv-I5RM1PA9rhOvC72VGiOP77h3rPR7RcqCB-XA.sgZtgLBCN4FrjGBWcIkm2X2uLPUfR_plMWny3BeJkzA' \
--data-urlencode 'redirect_uri=https://hook.jijyun.cn/v1/accept/data/webhook_accept_first/0lHw2hauWUFjNQOGpbk3mYfe7Ad6rRsZ'

获取到的access_token为:eyJhbGciOiJFUzI1NiIsImtpZCI6IjNiNTkyYWYwLTk5ODktNDRhOC1hMzQ3LTE4Yzc1MDQ4MTlmNCIsInR5cCI6IkpXVCJ9.eyJhaWQiOjE1OTIwMDczMDYsImF0cCI6InVzZXIiLCJhdHMiOiI4NTZvR09KIiwiYnVpIjpmYWxzZSwiY2lkIjo2NTk5ODIzNzgsImNsaSI6IkFLMjAyNTAxMTNCQ0FIU1AiLCJleHAiOjE3Mzc2MjY1ODAsInNwaSI6MTY3MjY3NTM5M30.Dd2kpkZmEsyV90FMuxhiF8QD23i_AgG3KU-7VkPEDemPeZ5aAIKKKkls4TZiHc26Oix_JviWke8eCebUVxL5Cg

3。调用多维表格【获取 Schema】api

curl --location --request GET 'https://openapi.wps.cn/v7/coop/dbsheet/350203336537/schema' \
--header 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IjNiNTkyYWYwLTk5ODktNDRhOC1hMzQ3LTE4Yzc1MDQ4MTlmNCIsInR5cCI6IkpXVCJ9.eyJhaWQiOjE1OTIwMDczMDYsImF0cCI6InVzZXIiLCJhdHMiOiI4NTZvR09KIiwiYnVpIjpmYWxzZSwiY2lkIjo2NTk5ODIzNzgsImNsaSI6IkFLMjAyNTAxMTNCQ0FIU1AiLCJleHAiOjE3Mzc2MjY1ODAsInNwaSI6MTY3MjY3NTM5M30.Dd2kpkZmEsyV90FMuxhiF8QD23i_AgG3KU-7VkPEDemPeZ5aAIKKKkls4TZiHc26Oix_JviWke8eCebUVxL5Cg' \
--header 'X-Kso-Date: Mon, 02 Jan 2006 15:04:05 GMT' \
--header 'X-Kso-Authorization: 1KSO-1 AK20250113BCAHSP:381c8a2d738f91e830edcc199b76f8cceccf202432743d8fc14623bef2947413' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: openapi.wps.cn' \
--header 'Connection: keep-alive'

响应结果为: { "code": 403000001, "msg": "unable to read user permission"
}

2 Answers

您好,经排查,是用户没有对应的文件访问权限导致报错的。

另外,基于安全考量,请您不要暴露 access_token 于公共平台

好的,这个是测试应用,我会注意的。我也测试了企业下的文件,也是报这个错,还是说我使用的file_id不对呢,我是通过下面方式找的file_id。

https://openapi.wps.cn/v7/coop/dbsheet/350203336537/schema这个api中,350203336537是file_id,我是通过截图中的webhook地址https://www.kdocs.cn/api/v3/ide/file/350203336537/script/V2-775AQIvlRKimFJV7k11XHX/sync_task找到的,是这样找file_id吗,我一直没在官网文档中找到怎么获取file_id。 image.png

https://openapi.wps.cn/v7/coop/dbsheet/350203336537/schema这个api中,350203336537是file_id,我是通过截图中的webhook地址https://www.kdocs.cn/api/v3/ide/file/350203336537/script/V2-775AQIvlRKimFJV7k11XHX/sync_task找到的,是这样找file_id吗,我一直没在官网文档中找到怎么获取file_id。 image.png