2
お手伝いできますか?私は7デジタルのプレミアムAPIのHMAC - SHA1ハッシュを生成しようとしていますが、正しい署名を得ることができません。私はこの記事https://oauth1.wp-api.org/docs/basics/Signing.htmlに従っていると、次のコードを持っている:7デジタルAPI無効な署名
public function __construct(){
$this->timestamp = time();
$this->_nonce = rand();
$this->consumerKey = 'KEY';
$this->consumerSecret = 'SECRET';
$this->signitureMethod = 'HMAC-SHA1';
}
public function buildSignature()
{
$method = 'GET&';
$url = 'https://api.7digital.com/1.2/oauth/requesttoken';
$params = 'oauth_consumer_key='.$this->consumerKey.'&oauth_nonce='.$this->_nonce.'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='.$this->timestamp.'&oauth_version=1.0';
$baseString = $method.urlencode($url).'&'.urlencode($params);
$key = $this->consumerKey . '&' . $this->consumerSecret;
$signature = hash_hmac('sha1', $baseString, $key);
$string = 'https://api.7digital.com/1.2/oauth/requesttoken?oauth_consumer_key='.$this->consumerKey.'&oauth_nonce='.$this->_nonce.'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='.$this->timestamp.'&oauth_version=1.0&oauth_signature='.$signature;
echo $string;
}
私も動作しませんBASE64_ENCODEと署名をエンコードしようとしたともそのようなキーURLENCODEしようとしていますのでご注意ください。
を $key = urlencode($this->consumerKey) . '&' . urlencode($this->consumerSecret);
参考ページも使用しています。
上記出力:
あなたのヘルプははるかに高く評価されるだろうが、事前にあなたに感謝します!だから、