我是etrade oauth集成的最后一部分 - (即发送访问令牌的GET请求。)这个oauth发生在meteor.js环境中,因此所有代码都是用javascript编写的。
目前我收到401错误 - 来自etrade的oauth_problem = signature_invalid回复。经过大量的科学研究,根据大平均数定律,部分因为我是天才,我得出的结论是我签名无效。
使用这个维基百科文章https://en.wikipedia.org/wiki/Hash-based_message_authentication_code(node.js部分)和本oauth文档https://dev.twitter.com/oauth/overview/creating-signatures我编写了以下代码:
var signature = encodeURI(secretKey)
signature = signature + "&" + encodeURI(contentArr.oauth_token_secret);
hmacSignature = Crypto.createHmac('sha1', signature);
hmacHash = hmacSignature.digest('hex');
hmacHash是我传递的变量,作为我的访问令牌获取请求的oauth_signature参数,但没有go:/仍然获取signature_invalid错误消息。有什么建议 ???显然,如果你给我一个好的答案,我会把它标记为已被接受。
提前致谢。 :)
答案 0 :(得分:0)
只需设法使它起作用!
class App extends React.Component {
constructor(props) {
super(props);
this.state = { canvasArray: [] };
this.captureRef = React.createRef();
}
getScreenshotHandler = () => {
html2canvas(this.captureRef.current).then(canvas =>
this.setState({
canvasArray: [canvas.toDataURL(), ...this.state.canvasArray],
}),
);
};
renderCanvas = () => {
return this.state.canvasArray.map((canvas, i) => {
return <img key={i} src={canvas} alt="screenshot" />;
});
};
render() {
return (
<div className="wrapper">
<div ref={this.captureRef} className="to-capture">
<p>
This enitre <code>div</code> will be captured
</p>
</div>
<button onClick={this.getScreenshotHandler}>Get Screenshot!</button>
<section>
<h5>Your screenshots will be availbale below:</h5>
{this.renderCanvas()}
</section>
</div>
);
}
}