2025年11月27日木曜日

NetSuiteの送信 RestSharpを使用

NetSuiteの送信でRestSharpを使用しました。

最初、NetSuiteの接続が分からなかった。

相手から指定されていたのを見逃していました。

OAuth1.0とMHAC-SHA256の仕様

OAuth1.0の場合、SHA1が標準らしく、NetSuiteの送信しても

901のエラーが発生して送信出来なかった。

RestSharp version 108以降は SHA256に対応したそうで

明示的に指定すれば NetSuiteの送信出来ました。

ソースは以下

                var authenticator = OAuth1Authenticator.ForProtectedResource(
                    consumerKey,
                    consumerSecret,
                    accessToken,
                    accessTokenSecret,
                    OAuthSignatureMethod.HmacSha256
                );

                authenticator.Realm = realm;

                var options = new RestClientOptions(apiurl) {
                    Authenticator = authenticator
                };

                using (var client = new RestClient(options)) {
....

                }

 

                    OAuthSignatureMethod.HmacSha256
 SHA256を指定すればOKでした。

この設定が分からなくて、1日右往左往しました。

Gemini, Grok, CoPilot  どれも指摘しなかった。

Githubの変更履歴から情報を取得しました。

ちなみに OAuth1.0 + SHA256に対応しているライブラリは

RestSharpのVersion108以降 又は Chilkat コチラは有料でした。

OAuth1.0を使用するなら OAuth2.0を採用するので OAuth1.0+SHA256の

採用案件は今後ないかなぁ。 

 

 

0 件のコメント:

コメントを投稿