質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

1回答

294閲覧

セブンネットAPIリクエストが署名エラーとなる

M.t.t

総合スコア6

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ハッシュ

ハッシュは、高速にデータ検索を行うアルゴリズムのことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

1クリップ

投稿2018/08/08 08:00

編集2018/08/09 06:35

前提・実現したいこと

セブンネットAPIを使って商品検索したい。
ウェブブラウザでGETリクエストしたところ、エラーメッセージが発生しました。

発生している問題・エラーメッセージ

セブンネットのレスポンスはこれです。
↓↓↓
<aff:ApiError xmlns:aff="https://7af-api.omni7.jp/affiliate">
aff:ApiErrorStatusNotAuthenticated</aff:ApiErrorStatus>
aff:ApiErrorMessageリクエストパラメータに誤りがあります。(Signature)</aff:ApiErrorMessage>
</aff:ApiError>

プログラムで実装しても同じ結果でした。
文字コードエンコはすべてUTF8です。

該当のソースコード

作成URLを https://7af-api.omni7.jp/af_api/affiliate/rest/SearchProduct?ApiUserId=id&KeywordIn=ペットフード&Timestamp=2018-08-07T00:30:00Z ここの言う通り下処理して https://7af.omni7.jp/af_static_site/static_063.html こうなりました。 ↓↓↓ GET|https://7af-api.omni7.jp/af_api/affiliate/rest/SearchProduct|ApiUserId=id|KeywordIn=ペットフード|Timestamp=2018-08-07T00:30:00Z ここでURLエンコして http://urlencode.net/result.cgi こうなりました。 ↓↓↓ GET%7Chttps%3A%2F%2F7af-api.omni7.jp%2Faf_api%2Faffiliate%2Frest%2FSearchProduct%7CApiUserId%3Did%7CKeywordIn%3D%E3%83%9A%E3%83%83%E3%83%88%E3%83%95%E3%83%BC%E3%83%89%7CTimestamp%3D2018-08-07T00%3A30%3A00Z ここで隠し鍵を「key」としてハッシュ作って https://www.freeformatter.com/hmac-generator.html#ad-output こうなりました。 ↓↓↓ b055096f032334530553c873e815b74cef94c70fb9c177b0762309a1484aef1e ここでBase64エンコして https://uic.jp/base64encode/ こうなりました。 ↓↓↓ YjA1NTA5NmYwMzIzMzQ1MzA1NTNjODczZTgxNWI3NGNlZjk0YzcwZmI5YzE3N2IwNzYyMzA5YTE0ODRhZWYxZQ== 完成した署名をURLに付加して ブラウザでリクエストしました。 https://7af-api.omni7.jp/af_api/affiliate/rest/SearchProduct?ApiUserId=id&KeywordIn=ペットフード&Timestamp=2018-08-07T00:30:00Z&Signature=YjA1NTA5NmYwMzIzMzQ1MzA1NTNjODczZTgxNWI3NGNlZjk0YzcwZmI5YzE3N2IwNzYyMzA5YTE0ODRhZWYxZQ

試したこと

UTF8に文字をエンコする。
C#プログラムで実装してみる。
結果、変わらずでした。

少し前のAPIの実装例がここにありました。
↓↓↓
http://fujitaiju.com/web-tool/699470/

間違っている箇所がどうしてもわかりません。
「こんな可能性あるよ」というご指摘だけでも、頂ければ助かります。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

認証エラーなので、認証エラーの可能性しかありません。

「下処理して」が間違っているのでは?

投稿2018/08/09 01:13

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

M.t.t

2018/08/09 06:32

どういうふうにした処理したか追記しました! 間違いの指摘、何卒宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問