
2024年您產(chǎn)品必備的10大AI API推薦
在StockX上登錄后,完成開發(fā)人員注冊表單。我們將審核您的申請,并在您的訪問權(quán)限獲得批準(zhǔn)后向您發(fā)送電子郵件。
當(dāng)您的帳戶獲得批準(zhǔn)后,系統(tǒng)將自動為您生成一個API密鑰,您可以在“密鑰”頁面上檢索該密鑰。
StockX Audience:用于訪問StockX API服務(wù)。要訪問任何StockX API服務(wù),如登錄或出價,請確保您的受眾設(shè)置為gateway.stockx.com。
Auth Domain:要訪問StockX auth服務(wù),身份驗證端點的域是https://accounts.stockx.com。
作用域:StockX auth服務(wù)使用有效的OpenID Connect(OIDC)作用域為API User應(yīng)用程序提供正確的訪問級別。發(fā)送的作用域必須至少包含打開的、OIDC驗證用戶身份所需的以及接收刷新令牌所需的作用域;訪問StockX所需的最小作用域是scope=offline_access openid
授權(quán)用戶
首先,您必須通過StockX IDP授權(quán)應(yīng)用程序和用戶。這是通過使用正確的憑據(jù)和授權(quán)將用戶發(fā)送到/authorize
端點URL來完成的。
對于第一個authorize調(diào)用,響應(yīng)類型將是code
。狀態(tài)是一個不透明的值,將由API用戶定義,例如,
state = abcXYZ9876
.GET https://accounts.stockx.com/authorize? response_type=code& client_id={APPLICATION_ID}& redirect_uri={APPLICATION_REDIRECT_URI}& scope=offline_access%20openid& audience=gateway.stockx.com& state={OPAQUE_STATE_VALUE}
參數(shù)名稱 | 要求值 | 描述 |
---|---|---|
響應(yīng)類型 | 代碼 | 表示返回的憑據(jù)類型(code 或token )。對于此流,該值必須為 code 。 |
客戶端標(biāo)識 | 在Keys頁面上提供 | 應(yīng)用程序的客戶端ID將在應(yīng)用程序創(chuàng)建后生成。 |
redirect_uri | 范例: https://www.yourdomain.com/callback | 用戶授予授權(quán)后,StockX auth服務(wù)將瀏覽器重定向到的URL。授權(quán)碼將在code URL參數(shù)中提供。您需要在應(yīng)用程序中提供此URL。 |
范圍 | offline_access openid (空格為) | 指定要為其請求授權(quán)的范圍,這決定了要返回哪些聲明(或用戶屬性)。 在StockX是 scope=offline_access openid |
觀眾 | gateway.stockx.com | Web應(yīng)用要訪問的API的唯一標(biāo)識符。由StockX提供。 |
狀態(tài) | 用戶選擇的任何字符串API 示例:abcXYZ9876 | 您的應(yīng)用在重定向回您的應(yīng)用時向StockX auth服務(wù)包含的初始請求中添加的不透明任意字母數(shù)字字符串。我們建議API用戶使用此字符串來驗證傳入的回調(diào)請求,以防止跨站點請求偽造(CSRF)攻擊。 |
登錄并接收授權(quán)碼
成功授權(quán)您的應(yīng)用程序后,將顯示StockX登錄頁面,您必須輸入API用戶帳戶的電子郵件和密碼。登錄成功后,響應(yīng)將是帶有URL的HTTP 302重定向。授權(quán)代碼位于回調(diào)URI的末尾。HTTP/1.1 302 Found Location: undefined?code=AUTHORIZATION_CODE&state=xyzABC123
URL中的code=AUTHORIZATION_CODE
值,特別是AUTHORIZATION_CODE
值,是您需要的值。您將在下一步中使用該代碼來獲取令牌。
注意:這是您需要實現(xiàn)以接收授權(quán)代碼的應(yīng)用程序端點。
交換一組令牌的授權(quán)代碼
既然您已經(jīng)收到授權(quán)代碼,您必須發(fā)布對/authorize
的新調(diào)用以將代碼交換為令牌,并將上一步提取的授權(quán)代碼(代碼)添加到請求中。
下面你會發(fā)現(xiàn)一個調(diào)用/authorize
進行令牌交換的例子。請記住,響應(yīng)將為您提供一組令牌,其中一些令牌必須安全地存儲在您的一側(cè),因為稍后將需要它們來訪問StockX API。
請求
curl --request POST \
--url 'https://accounts.stockx.com/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'grant_type=authorization_code' \
--data 'client_id={YOUR_CLIENT_ID}' \
--data 'client_secret={YOUR_CLIENT_SECRET}' \
--data 'code={YOUR_AUTHORIZATION_CODE}' \
--data 'redirect_uri={YOUR_CALLBACK_URI}'
參數(shù)名稱 | 描述 |
---|---|
贈款類型 | 設(shè)置為authorization_code |
客戶端標(biāo)識 | 在應(yīng)用程序創(chuàng)建時生成 |
客戶端機密 | 在應(yīng)用程序創(chuàng)建時生成 |
代碼 | 步驟2中檢索到的authorization_code |
redirect_uri | 在用戶授予授權(quán)后,StockX auth服務(wù)將瀏覽器重定向到的URL。authorization_code 將在代碼URL參數(shù)中可用。 |
響應(yīng)
如果您能夠成功地將代碼交換為令牌,您將收到一個包含access_token
、refresh_token
、id_token
和token_type
的有效負(fù)載的響應(yīng)。請參見下面的負(fù)載響應(yīng)示例。
{
"access_token": "eyJz93a...k4laUWw",
"refresh_token": "GEbRxBN...edjnXbL",
"id_token": "eyJ0XAi...4faeEoQ",
"token_type": "Bearer"
}
以下指南說明如何創(chuàng)建、更新和刪除新應(yīng)用程序。該應(yīng)用程序提供實現(xiàn)授權(quán)流所需的客戶端ID和客戶端密碼。
注意:目前StockX支持每個StockX帳戶一個應(yīng)用程序
要執(zhí)行此操作,請轉(zhuǎn)到應(yīng)用程序,然后單擊創(chuàng)建應(yīng)用程序按鈕以打開以下對話框:
輸入應(yīng)用程序的名稱、描述和所選的回調(diào)URI,然后單擊CREATE。您的應(yīng)用程序現(xiàn)在已創(chuàng)建并注冊,您將在應(yīng)用程序頁面上看到新創(chuàng)建的應(yīng)用程序。
回調(diào)URI使StockX身份驗證服務(wù)能夠在用戶每次登錄時自動調(diào)用應(yīng)用程序。
“應(yīng)用程序”頁提供以下信息:
您可以通過單擊EDIT按鈕來更新應(yīng)用程序,也可以通過單擊紅色的刪除按鈕來刪除應(yīng)用程序。
從前面的步驟中獲得access_token
后,就可以開始進行API調(diào)用了。訪問令牌必須作為不記名令牌添加到您的標(biāo)頭請求中,即,Bearer
在前面。
生產(chǎn)API URL:api.stockx.com
授權(quán):承載者{ACCESS_TOKEN}
x-api-key:{api-key}
下面顯示了一個帶有承載令牌的頭部的CURL示例
curl --location --request GET
'https://{baseUrl}/{version}/{endpoint} \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {api-key}'
Header名稱 | 描述 |
---|---|
baseUrl | StockX API URL , 例如 :api.stockx.com |
版本 | StockX API版本,例如v1 |
授權(quán) | 將此設(shè)置為`Beareraccess_token |
x-api-key | 在開發(fā)人員訪問批準(zhǔn)后自動生成,位于密鑰頁面中 |
注意事項:請注意,access_token
的有效期為12小時,之后您需要請求新的access_token
,您可以通過下面概述的refresh_token
步驟來完成。
作為StockX API用戶,一旦使用不記名令牌對StockX受眾進行調(diào)用,該令牌將被驗證。如果access_token
不再有效,它將返回一個HTTP 401,你需要更新你的access_token
。
要更新access_token
,您需要refresh_token
。refresh_token
是IDP(身份提供者)使用的特殊令牌,允許您在身份驗證期間收到的令牌不再有效時請求新的access_token
。refresh_token
在登錄后返回,并且具有較長的生命周期,只要您的會話有效,交換令牌就有效,因此當(dāng)您調(diào)用交換令牌時,您將收到新的access_token
而不是新的refresh_token
,因為它們與您的會話一起長期存在。
為了獲得刷新令牌,您必須使用/oauth/token
調(diào)用grant_type=refresh_token
。要將刷新令牌交換為訪問令牌,您必須進行相同的調(diào)用。只有在您已經(jīng)撥打了/authorize
電話之后,才能撥打電話。交換refresh_token
或新access_token
的示例請求和響應(yīng)如下所示:
curl --location --request POST \
--url 'https://accounts.stockx.com/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'client_id={YOUR_CLIENT_ID}' \
--data-urlencode 'client_secret={YOUR_CLIENT_SECRET}' \
--data-urlencode 'audience=gateway.stockx.com' \
--data-urlencode 'refresh_token={YOUR_REFRESH_TOKEN}'
參數(shù)名稱 | 描述 |
---|---|
贈款類型 | 設(shè)置為authorization_code |
客戶端標(biāo)識 | 在應(yīng)用程序創(chuàng)建時生成 |
客戶端機密 | 在應(yīng)用程序創(chuàng)建時生成 |
觀眾 | 設(shè)置為authorization_code |
刷新令牌 | 刷新令牌 |
{
"access_token": "ey....",
"expires_in": 43200,
"id_token": "ey....",
"scope": "openid email offline_access",
"token_type": "Bearer"
}
"use strict";
/*
* Do not commit your client ID, secret, or domain to your codebase. These
* are here for the sake of convenience and should never be in your
* version control system.
* */
const AUTH0_CLIENT_ID = "";
const AUTH0_DOMAIN = "";
const AUTH0_CLIENT_SECRET = "";
/*
* This callback URL is where you will be redirected to after you have
* logged in. This is the URL you provided to StockX.
* */
const CALLBACK_URL = "";
/* This redirect URI is where you will be redirected to after the
* authorization code exchange for the access token.
* */
const REDIRECT_URI = "";
/*
* The unique identifier of the API your web app wants to access. This is provided by StockX.
*/
const AUTH0_AUDIENCE = "urn:gateway.stockx.com";
const GRANT_TYPE = "authorization_code";
const ACCESS_TOKEN_URL = https://${AUTH0_DOMAIN}/oauth/token
;
const PORT = 8000;
const Auth0Strategy = require("passport-auth0");
const axios = require("axios");
const express = require("express");
const expressSession = require("express-session");
const passport = require("passport");
const session = {
/*
* This secret isn’t used by Auth0, but rather by the Express session.
* It signs the session cookie ID.
* */
secret: "SESSION COOKIE ID SIGNER: ADD YOUR OWN",
cookie: {},
resave: false,
saveUninitialized: false,
};
const app = express();
app.use(expressSession(session));
const strategy = new Auth0Strategy(
{
domain: AUTH0_DOMAIN,
clientID: AUTH0_CLIENT_ID,
clientSecret: AUTH0_CLIENT_SECRET,
callbackURL: CALLBACK_URL,
},
(_, __, ___, profile, done) => done(null, profile)
);
passport.use(strategy);
app.use(passport.initialize());
app.use(passport.session());
const router = express.Router();
const authMiddleware = passport.authenticate("auth0", { scope: "openid email profile", audience: AUTH0_AUDIENCE });
router.get("/login", authMiddleware, (_, res) => res.redirect("/"));
/*
* This is where the magic happens. When Auth0 redirects you to the
* callback, it does so with an authorization code. That authorization code
* can be exchanged for an access token. The access token is what you will
* use to gain access to StockX's public API.
* */
router.get("/callback", async (req, res) => {
try {
const { data } = await axios.post(ACCESS_TOKEN_URL, {
grant_type: GRANT_TYPE,
client_id: AUTH0_CLIENT_ID,
client_secret: AUTH0_CLIENT_SECRET,
redirect_uri: REDIRECT_URI,
code: req.query.code,
});
return res.status(200).json(data);
} catch (err) {
return res.send(err.toString()).status(500);
}
});
router.get("/", (_, res) =>
res.send("Sample homepage. To login, navigate your browser to localhost:8000/login.").status(200)
);
app.use("/", router);
app.listen(PORT, () => {
console.log(Listening to requests on http://localhost:${PORT}
);
});
Q:如何找到StockX API
A:冪簡集成是國內(nèi)領(lǐng)先的API集成管理平臺,專注于為開發(fā)者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關(guān)鍵詞搜索API(例如,輸入’StockX API‘這類品類詞,更容易找到結(jié)果)、或者從API hub分類頁進入尋找。
Q:什么是StockX?
A:StockX是世界上最大的文化市場。我們的使念是以最智能的方式提供世界上最令人垂涎的物品。購買和出售最熱門的運動鞋,服裝,電子產(chǎn)品,收藏品,交易卡和配件。
Q:如何開始使用StockX API平臺?
A:創(chuàng)建一個StockX帳戶并請求開發(fā)人員訪問權(quán)限。新用戶需要驗證他們的電子郵件地址才能訪問該平臺。專業(yè)提示,請確保您添加一個有效的付款方式到您的帳戶。有關(guān)更多信息,請查看我們的-入門 頁.
Q:StockX如何處理身份驗證?
A:到目前為止,StockX不支持每個API鍵有多個應(yīng)用程序。但是,多個StockX帳戶可以訪問一個應(yīng)用程序。
Q:我的訪問令牌過期了,我該怎么辦?
A:請注意,訪問令牌的有效期為12小時,之后您需要申請新的訪問令牌。詳細(xì)了解我們?nèi)绾卧谖覀兊腳認(rèn)證 頁.
Q:StockX是否支持多個應(yīng)用程序?
A:到目前為止,StockX不支持每個API鍵有多個應(yīng)用程序。但是,多個StockX帳戶可以訪問一個應(yīng)用程序。
Q:StockX API的替代品有哪些?
提供AI大模型API的服務(wù)商除了StockX API,還有其他替代服務(wù)商也提供類似api服務(wù),例如:
亞馬遜 API開放平臺、Shop API開放平臺、Charm API開放平臺
更多競品可以在冪簡集成開放平臺中找到。
Q:StockX API這個密鑰還適用于哪些api?
本文詳細(xì)闡述了獲取StockX API密鑰的全過程,為開發(fā)者提供了清晰的分步指南。從StockX API注冊賬號開始,通過完成開發(fā)者認(rèn)證,到最終獲取API服務(wù)密鑰,每一步都進行了詳盡的說明。此外,文章還強調(diào)了獲取密鑰后進行可用性測試的重要性,確保開發(fā)者能夠順利地將API集成到應(yīng)用中。本文為開發(fā)者提供了一個全面、實用的指南,幫助他們順利獲取StockX API密鑰,并有效地將這一能力集成到應(yīng)用中,從而提升應(yīng)用的交互性和功能性。