5

GoodData API で認証/ログインしようとしていますが、うまくいきません。GoodData API ドキュメント サイト (docs.gooddata.apiary.io) では、次の場所に POST するように指示されています。

URL:

https://secure.gooddata.com/gdc/account/login

ヘッダー:

Accept: application/json
Content-Type: application/json

JSON 本文:

{"postUserLogin":{"login":"user@company.com","password":"YourPassword","re​​member":1}}

「プライベート API です。プライベート ハッシュを提供してください」という応答が返ってきます。何か案は?

4

4 に答える 4

2

GoodData Apiary に関しては、CURL に例があります

最初のステップ - https://secure.gooddata.com/gdc/account/loginへの POST :

jirka@x230:~$ curl --include --header "Accept: application/json" --header "Content-Type: application/json" --request POST --data-binary "{\"postUserLogin\":{\"login\":\"jiri.simon@gooddata.com\",\"password\":\"`cat my_pass.txt`\",\"remember\":1}}" "https://secure.gooddata.com/gdc/account/login" 
HTTP/1.1 200 OK 
X-GDC-REQUEST: 7AEoVKre3lTF8sUV 
Server: Apache 
Set-Cookie: GDCAuthTT=; path=/gdc; expires=Sat, 07-Sep-2013 22:16:26 GMT; secure; HttpOnly 
Set-Cookie: GDCAuthSST=jcftYGCC3u6pkNRK; path=/gdc/account; expires=Wed, 23-Oct-2013 22:16:26 GMT; secure; HttpOnly 
Expires: Mon, 26 Jul 1997 05:00:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
P3P: CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT' 
X-GDC-REQUEST-TIME: 69 
Content-Type: application/json;charset=UTF-8 
Content-Length: 143 
Accept-Ranges: bytes 
Date: Mon, 07 Oct 2013 22:16:26 GMT 
X-Varnish: 2109577795 
Age: 0 
Via: 1.1 varnish 
Connection: keep-alive

{"userLogin":{"profile":"/gdc/account/profile/254c399a3f5131b7026313d4f8761410","state":"/gdc/account/login/254c399a3f5131b7026313d4f8761410"}}

2 番目のステップは、1 番目のステップからの応答から SST を使用して GDCAuthTT を取得することです。

jirka@x230:~$ curl --include --header "Cookie: $Version=0; GDCAuthSST=jcftYGCC3u6pkNRK; $Path=/gdc/account" --header "Accept: application/json" --header "Content-Type: application/json" https://secure.gooddata.com/gdc/account/tokenHTTP/1.1 200 OK 
X-GDC-REQUEST: GqPnYyk3pKAW5eju 
Server: Apache 
Set-Cookie: GDCAuthTT=h3CUUg72U2SLhL7Tghj_TVnba6byjgj3L78aJkSFuoji_0DiqXGRYY7C1zWDa-2yIa0Aj3-MuVlWPdNSx7N7CDzM7w21Fl6OaMjuF-98bV6cRx34HW-ql6IGt6ufWo_U5fQa2QqU6b-F0MsGE6orDC6ZMt2anJQdATNYsHfELiB7ImwiOiIwIiwidSI6IjE3Mzk4NyIsImsiOiJiZWQyZWU1ZS05YzYxLTRhNWMtOWJlNi05ZTAxZDQ4NjI5NmEiLCJ1aWQiOiIyNTRjMzk5YTNmNTEzMWI3MDI2MzEzZDRmODc2MTQxMCIsInYiOjEzODExODQ4MTZ9; path=/gdc; secure; HttpOnly
Expires: Mon, 26 Jul 1997 05:00:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
P3P: CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT' 
X-GDC-TIMESTAMP: 600 
X-GDC-REQUEST-TIME: 20 
Content-Type: application/json;charset=UTF-8 
Content-Length: 2 
Accept-Ranges: bytes 
Date: Mon, 07 Oct 2013 22:16:56 GMT 
X-Varnish: 1661889108 
Age: 0 
Via: 1.1 varnish 
Connection: keep-alive

その後、GDCAuthTT を使用して他のすべての呼び出しを使用できますが、この GDCAuthTT は 10 分しか有効ではなく、10 分後に 401 が返され、新しい GDCAuthTT に対して前のコマンドを再度呼び出す必要があります。

于 2014-02-10T09:58:02.160 に答える
2

GoodData 認証は、次のライブラリにも実装されています。

于 2014-02-10T08:21:31.047 に答える