使用 Autodesk Forge 的 Curl 2-Legged Token 失败 (AUTH-008)

Curl 2-Legged Token with Autodesk Forge fails (AUTH-008)

我正在尝试获得一个两条腿的标记,如下所示:https://developer.autodesk.com/en/docs/oauth/v2/tutorials/get-2-legged-token/

这是我在cygwin中输入的(id和secret是示例中的,但我使用自己的id和secret):

curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate' -X 'POST' -H 'Content-Type: application/x-www-form-urlencoded' -d ' client_id=obQDn8P0GanGFQha4ngKKVWcxwyvFAGE& client_secret=eUruM8HRyc7BAQ1e& grant_type=client_credentials& scope=data:read'

但我得到:

< HTTP/1.1 400 Bad Request
< Content-Type: application/json
< Date: Tue, 15 Nov 2016 10:06:09 GMT
* Server Apigee Router is not blacklisted
< Server: Apigee Router
< Content-Length: 231
< Connection: keep-alive
<
* STATE: PERFORM => DONE handle 0x600057550; line 1965 (connection #0)
* multi_done
* Curl_http_done: called premature == 0
* Connection #0 to host developer.api.autodesk.com left intact
{"developerMessage":"The required parameter(s) client_id,client_secret,grant_type not present in the request","userMessage":"","errorCode":"AUTH-008","more info":"http://developer.api.autodesk.com/documentation/v1/errors/AUTH-008"}

我从该网站获取的示例怎么可能缺少参数?

每个有经验的程序员都非常清楚,错误发生的方式是无限的。

在这种情况下,在您指定范围之前,我在您的数据中看到 space。

会不会是这个原因?

客户端id前面还有一个前导space。

也许那个被忽略了。

这里是一个工作示例,正是您要实现的目标:

http://thebuildingcoder.typepad.com/blog/2016/10/forge-intro-formats-webinars-and-fusion-360-client-api.html#3