2

PHP cURL を使用して Toggl レポート API にアクセスしようとしましたが、うまくいかず、JavaScript を使用して HTTPRequest を試しています。API から 200 の応答を受信して​​いるので、接続されていることはわかっていますが、次に何をすべきか途方に暮れています。

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://toggl.com/reports/api/v2", false);
xhr.send();
document.write("Status code: " + xhr.status + " ");
document.write(xhr.statusText + "</br>");

ドキュメントに記載されているようにリクエストヘッダーを設定しようとしましたが、これにより 200 レスポンスが強制終了されるため、間違っていることがわかります...

xhr.setRequestHeader('Authorization':'[api token encoded with base 64]','Content-type':'application/json');

何かアドバイス?

ありがとう

4

2 に答える 2

2

これが数年遅れていることは知っていますが、誰かが同じ立場にある場合、これは私にとってはうまくいきます:

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://toggl.com/reports/api/v2/weekly?user_agent=yourname@domain.com&workspace_id=012345", false);
xhr.setRequestHeader('Authorization', 'Basic XXXXXX');
xhr.send();
document.write("Status code: " + xhr.status + " ");
document.write(xhr.statusText + "</br>");

XXXXXX は、API キーと base-64 でエンコードされた文字列「:api_token」です。

したがって、API キーが 12345 の場合、文字列「12345:api_token」を base-64 でエンコードして、MTIzNDU6YXBpX3Rva2Vu を取得します。

JavaScript では、btoa 関数を使用して base-64 でエンコードされた文字列を取得できます: btoa("12345:api_token")。

注意: URLでは、トグル API ドキュメントに記載されているように、user_agentworkspace_idを指定する必要があることに注意してください: https://github.com/toggl/toggl_api_docs/blob/master/reports.md

ワークスペース ID を見つける最も簡単な方法は、「チーム」というタブをクリックし、URL から番号をコピーすることです: https://toggl.com/app/team/ 012345

user_agent は、アプリケーションの名前または電子メール アドレスです。

于 2015-08-07T15:29:03.923 に答える