0

ジャージー クライアント経由で REST 呼び出し用にこれらのヘッダーを設定する必要があります。clickatell メッセージ 残りの通話を送信

curl -i \
            -X POST \
            -H "X-Version: 1" \
            -H "Content-Type: application/json" \
            -H "Authorization: Bearer Your Authorization Token" \
            -H "Accept: application/json" \

私のコードは次のとおりです。

Client client = Client.create();
WebResource webResource = client.resource("https://api.clickatell.com/rest/message");

ClientResponse response = webResource
                            .header("Authorization", "Bearer clickATellAuthKey")    
                            .header("X-Version", "1")
                            .header("Content-Type", "application/json")
                            .header("Accept", "application/json")
                            .post(ClientResponse.class, input); 

このエラーが発生しています:

{"エラー":{"コード":"001","説明":"認証に失敗しました","ドキュメント":" http://www.clickatell.com/help/apidocs/error/001.htm "}}

ドキュメントには、認証ヘッダーが指定されていないと書かれています。リクエストは、同じヘッダーを持つ Postman (chrome restful クライアント拡張機能) で正常に機能しています

助けが必要。

4

2 に答える 2

2

1) ヘッダーが通過しているようです。そうでない場合は、バージョン ヘッダーが設定されていないというエラーが発生します。

2) 001 エラーは、認証トークンが指定されていないか、正しくないことを意味します。

3) 認証トークン全体をコピーして貼り付け、もう一度やり直すことをお勧めします。_ または に注意してください。文字はトークンの一部であるため。

于 2014-11-25T11:09:38.897 に答える
0

@whatever_saに感謝します。コードにもいくつかの改善が必要であり、認証キーに問題がありました。少なくとも認証キーをもう一度確認してください。ここに作業コードがあります

    ClientResponse response = webResource.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON)                   
                        .header(MessageServices.API_AUTH_HEADER, MessageServices.AUTH_KEY)
                        .header(MessageServices.API_VERSION_HEADER, MessageServices.API_VERSION)                            
                        .post(ClientResponse.class, input);
于 2014-11-25T11:30:58.550 に答える