如何解决React JS 应用程序中的推荐糖果集成
我正在尝试将 Referral Candy 集成到我的 React 应用程序中。我正在集成此端点 https://my.referralcandy.com/api/v1/verify.json
。
根据他们的官方文档,我完成了 Referral Candy 中提到的这些步骤,但我仍然收到 Invalid Credentials 响应,而不是 Verification OK。以下是我将要执行的代码。
App.js 组件
import React from "react";
import axios from "axios";
import generateParams from "./generateParams";
const App = () => {
React.useEffect(() => {
const bundle = {
authData: {
accessID: "accessIDHere",secret_key: "secretKeyHere",},};
const userData = {
name: "nameHere",};
const params = generateParams(bundle,userData);
const fetchData = async () => {
const response = await axios.get(`https://my.referralcandy.com/api/v1/verify.json?${params}`);
console.log("response",response);
};
fetchData();
},[]);
return <div />;
};
export default App;
const MD5 = require("crypto-js/md5");
const queryString = require("query-string");
const moment = require("moment");
const calculateRCSignature = (data,secretKey) => {
const sortedKeys = Object.keys(data).sort((a,b) => {
if (a < b) return -1;
else if (a > b) return 1;
return 0;
});
const initialValue = `${secretKey}`;
const sortedQueries = sortedKeys.reduce((total,currentValue) => {
return total + `${currentValue}=${data[currentValue]}`;
},initialValue);
return MD5(sortedQueries);
};
module.exports = (bundle,userData = {}) => {
const accessID = process.env.ACCESS_ID || bundle.authData.access_id;
const secretKey = process.env.SECRET_KEY || bundle.authData.secret_key;
const epochNow = moment().unix();
const defaultData = {
timestamp: epochNow,accessID: accessID,};
let completeData = Object.assign(defaultData,userData);
completeData.signature = calculateRCSignature(completeData,secretKey);
return queryString.stringify(completeData);
};
任何帮助将不胜感激:) 谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。