如何将私有成员添加到外部 api
How to add private members to external api
大家下午好,
我正在尝试创建一个功能,该功能将通过我的外部忠诚度计划(通过 Whisqr)为我 Wix.com 网站上的当前用户自动创建会员资格。我收到一条错误消息,指出未找到 public 密钥。
这是我的后端代码:
import {fetch} from 'wix-fetch';
import {wixData} from 'wix-data';
export function postLoyalty() {
let options ={
"headers": {
"X-Public": "pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76"
}
}
const url = 'https://whisqr.com/api/v1.2/user/customer/';
const key = '<pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76>';
console.log("Url: ");
return fetch(url, {method: 'post'})
.then(response => {
return response.json();
})
.then((data) => {
console.log(data);
return data;
});
}
这是我的页面代码:
import {postLoyalty} from 'backend/Loyalty.jsw';
import {wixData} from 'wix-data';
import wixLocation from "wix-location";
import {myFunction} from 'public/core.js';
import wixUsers from 'wix-users';
$w.onReady(function () {
let publickey = 'pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76';
myFunction(publickey)
.then( (response) => {
console.log(response); //your base64 encoded string
})});
export function page1_viewportEnter(event) {
//Add your code for this event here:
let email = wixUsers.currentUser.getEmail();
postLoyalty(email)
.then(LoyaltyInfo => {
console.log(LoyaltyInfo)
$w("#text1").text = LoyaltyInfo.Results.Value;
})
}
非常感谢任何和所有反馈!
您正在使用 POST 方法调用 URL,但您没有使用您定义的任何键 header。
在其请求中使用 header 和 body 的正确 POST 调用如下所示:
export function myFunction(data) {
const url = "https://whisqr.com/api/v1.2/user/customer/";
const headers = {
"Authorization": "Bearer " + key, //if api key is required like this
"Content-Type": "application/json" //the content type
};
return fetch(url, {
"method": "POST",
"headers": headers,
"body": JSON.stringify(data) //if there is a body
});
}
您说您需要在外部平台上创建会员,因此您必须发送 body 客户数据。阅读 API 文档。
大家下午好,
我正在尝试创建一个功能,该功能将通过我的外部忠诚度计划(通过 Whisqr)为我 Wix.com 网站上的当前用户自动创建会员资格。我收到一条错误消息,指出未找到 public 密钥。
这是我的后端代码:
import {fetch} from 'wix-fetch';
import {wixData} from 'wix-data';
export function postLoyalty() {
let options ={
"headers": {
"X-Public": "pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76"
}
}
const url = 'https://whisqr.com/api/v1.2/user/customer/';
const key = '<pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76>';
console.log("Url: ");
return fetch(url, {method: 'post'})
.then(response => {
return response.json();
})
.then((data) => {
console.log(data);
return data;
});
}
这是我的页面代码:
import {postLoyalty} from 'backend/Loyalty.jsw';
import {wixData} from 'wix-data';
import wixLocation from "wix-location";
import {myFunction} from 'public/core.js';
import wixUsers from 'wix-users';
$w.onReady(function () {
let publickey = 'pk_live_ba43e74df464cbf521dd07ee20443ff754c3afc11adc16df2594facb2147cd76';
myFunction(publickey)
.then( (response) => {
console.log(response); //your base64 encoded string
})});
export function page1_viewportEnter(event) {
//Add your code for this event here:
let email = wixUsers.currentUser.getEmail();
postLoyalty(email)
.then(LoyaltyInfo => {
console.log(LoyaltyInfo)
$w("#text1").text = LoyaltyInfo.Results.Value;
})
}
非常感谢任何和所有反馈!
您正在使用 POST 方法调用 URL,但您没有使用您定义的任何键 header。
在其请求中使用 header 和 body 的正确 POST 调用如下所示:
export function myFunction(data) {
const url = "https://whisqr.com/api/v1.2/user/customer/";
const headers = {
"Authorization": "Bearer " + key, //if api key is required like this
"Content-Type": "application/json" //the content type
};
return fetch(url, {
"method": "POST",
"headers": headers,
"body": JSON.stringify(data) //if there is a body
});
}
您说您需要在外部平台上创建会员,因此您必须发送 body 客户数据。阅读 API 文档。