当前位置: 首页 > wzjs >正文

电商类网站开发项目书旅游网站建设与网页设计意义

电商类网站开发项目书,旅游网站建设与网页设计意义,公司文件页面设计,公众号文章怎么添加小程序目录 一、Shopify网上商店 二、个人商店配置接口权限 三、PostMan调用接口测试 四、通过Java服务调用接口 一、Shopify网上商店 Shopify是由Tobi Ltke创办的加拿大电子商务软件开发商,总部位于加拿大首都渥太华,已从一家在咖啡店办公的 5人团队&…

目录

一、Shopify网上商店

二、个人商店配置接口权限

三、PostMan调用接口测试

四、通过Java服务调用接口


一、Shopify网上商店

Shopify是由Tobi Lütke创办的加拿大电子商务软件开发商,总部位于加拿大首都渥太华,已从一家在咖啡店办公的 5人团队,成长为在全球拥有超过 10,000名员工的商务平台。 
Shopify成立于2004年,是一个销售滑雪板的电子商务平台。创始人于2006年向公众发布了它,作为一种在线销售几乎任何东西的方式。该公司于2015年在纽约证券交易所和多伦多证券交易所上市。Shopify为超过175个国家的数百万企业提供支持。 
Shopify允许企业主创建和管理在线商店,并提供运营商店所需的所有工具,从库存管理到销售和履行。Shopify还搭建了一个应用商店,一个以众多开发者为核心的生态系统

相关文档如下↓

1.官网网站入口:Shopify官网

2.网上商店接口文档:Shopify接口文档

3.个人商店后台地址:个人店铺后台地址

二、个人商店配置接口权限

点击:设置→应用和销售渠道→开发应用→创建应用

需要做俩件事,1.配置权限,2.获得token

1.创建好应用在API凭据里面就可以获得一次token,需要自己保存下来。

2.在配置选项里面配置权限,选择需要开通的选项进行配置。

三、PostMan调用接口测试

所有GraphQl Admin API查询都需要有效的Shopify访问令牌。在合作伙伴仪表板上创建的公共和自定义应用程序使用OAuth生成代币,而Shopify Admin在Shopify Admin中进行了认证。在所有API查询中都将您的令牌作为X-Shopify-Access-token标头。使用Shopify支持的客户库可以简化此过程。为了确保平台安全,应用程序需要在安装过程中请求特定的访问范围。仅请求应用程序需要工作的数据访问尽可能多。了解有关启动身份验证和构建应用程序的更多信息。

调用接口步骤需要

1.X-Shopify-Access-token为应用里面的token

2.权限配置开通,应用里面的配置

3.自己店铺地址

4.构建GraphQL规范的JSON参数

下面是例子,比如我想查询网上商店后台里面内容→文件

通过接口文档可以看到是files接口,分别可以选择版本,中间是参数,右边是官方例子

1.配置调用地址

调用URL:https://your-development-store.myshopify.com/admin/api/2024-10/graphql.json

your-development-store:需要替换成自己店铺的地址:比如my-store

替换完就是:https://my-store.myshopify.com/admin/api/2024-10/graphql.json

2.构建GraphQL参数

eg:查询250条数据

{files(first: 250) {edges {node {id... on MediaImage {image {url}}}}pageInfo {hasNextPagehasPreviousPagestartCursorendCursor}}
}

3.配置查询Headers

增加X-Shopify-Access-Token:为你商店的token

4.调用测试,调用成功则会返回数据,如果构建的GraphQL参数错误则会返回400 BadRequest

其他构建GraphQL参数参考如下↓

1.查询订单

{orders(first: 10) {edges {node {suggestedRefund {refundDuties {amountSet {shopMoney {amountcurrencyCode}}}totalDutiesSet {shopMoney {amountcurrencyCode}}}emailreturnStatusdisplayFinancialStatusdisplayFulfillmentStatusrisk {recommendation}}}}
}

2.查询订单减少参数版

{orders(first: 10) {edges {cursornode {id}}pageInfo {hasNextPagehasPreviousPagestartCursorendCursor}}
}

3.查询指定的文件名

{files(first: 250,query: "filename:'my-image.png'") {edges {node {id... on MediaImage {image {url}}}}pageInfo {hasNextPagehasPreviousPagestartCursorendCursor}}
}

4.查询文件分页

{files(first: 250,after:"eyJsYX******") {edges {node {id... on MediaImage {image {url}}}}pageInfo {hasNextPagehasPreviousPagestartCursorendCursor}}
}

分页逻辑说明

  • 首次请求:不传递 after 参数,获取第1-250条数据。
  • 后续请求:将前一次返回的 endCursor 作为新的 after 参数值,获取下一页数据(如251-500)。
  • 终止条件:当 pageInfo.hasNextPage 为 false 时停止。

四、通过Java服务调用接口

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Map;import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;public class ShopifyGraphQLClient {private static final String API_URL = "https://my-store-de.myshopify.com/admin/api/2024-10/graphql.json";private static final String ACCESS_TOKEN = "shpat_******"; // 替换为实际的访问令牌public static void main(String[] args) {try {// 强制使用 TLSv1.2System.setProperty("https.protocols", "TLSv1.2");// 绕过证书验证(仅限开发环境)TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {public X509Certificate[] getAcceptedIssuers() { return null; }public void checkClientTrusted(X509Certificate[] certs, String authType) {}public void checkServerTrusted(X509Certificate[] certs, String authType) {}}};SSLContext sc = SSLContext.getInstance("TLS");sc.init(null, trustAllCerts, new SecureRandom());HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());// 忽略主机名验证(仅限开发环境)HostnameVerifier allHostsValid = (hostname, session) -> true;HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);// 创建 URL 对象URL url = new URL(API_URL);HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 设置请求方法为 POSTconnection.setRequestMethod("POST");connection.setDoOutput(true);// 设置请求头connection.setRequestProperty("Content-Type", "application/json");connection.setRequestProperty("X-Shopify-Access-Token", ACCESS_TOKEN);// 构建 GraphQL 查询// 创建数据映射Map<String, Object> data = new HashMap<>();data.put("query", "{\r\n" +"    orders(first: 10) {\r\n" +"      edges {\r\n" +"        cursor\r\n" +"        node {\r\n" +"          id\r\n" +"        }\r\n" +"      }\r\n" +"      pageInfo {\r\n" +"        hasNextPage\r\n" +"        hasPreviousPage\r\n" +"        startCursor\r\n" +"        endCursor\r\n" +"      }\r\n" +"    }\r\n" +"}");// 使用Jackson序列化为JSON字符串ObjectMapper mapper = new ObjectMapper();String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(data);System.out.println(json);// 发送请求体try (OutputStream os = connection.getOutputStream()) {byte[] input = json.getBytes("utf-8");os.write(input, 0, input.length);}// 读取响应int responseCode = connection.getResponseCode();BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));StringBuilder response = new StringBuilder();String responseLine;while ((responseLine = br.readLine()) != null) {response.append(responseLine.trim());}// 解析响应System.out.println(response.toString());// 创建 ObjectMapper 实例ObjectMapper objectMapper = new ObjectMapper();try {// 解析 JSON 字符串为 JsonNodeJsonNode jsonNode = objectMapper.readTree(response.toString());// 访问数据System.out.println("格式化输出 JSON:");System.out.println(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode));// 示例:访问 data -> orders -> edges 的第一个节点的 idJsonNode firstEdgeNodeId = jsonNode.path("data").path("orders").path("edges").get(0).path("node").path("id");System.out.println("第一个订单的 ID:" + firstEdgeNodeId.asText());} catch (Exception e) {e.printStackTrace();}} catch (Exception e) {e.printStackTrace();}}
}

返回结果如下说明成功


文章转载自:

http://brxRsWcX.pxwzk.cn
http://trPflX5I.pxwzk.cn
http://jJsi52Zi.pxwzk.cn
http://Gu0KLatX.pxwzk.cn
http://FJE0EmoJ.pxwzk.cn
http://XXTnqqPm.pxwzk.cn
http://vOMesHsH.pxwzk.cn
http://wfbxRaQl.pxwzk.cn
http://k81Q8EUu.pxwzk.cn
http://itQhX3Js.pxwzk.cn
http://ehKBjEW2.pxwzk.cn
http://YzPRYxgG.pxwzk.cn
http://P9Cp5tK8.pxwzk.cn
http://vj8igsOo.pxwzk.cn
http://OSrCJww8.pxwzk.cn
http://etCbpgmb.pxwzk.cn
http://mba4dr7r.pxwzk.cn
http://jwmv1FpY.pxwzk.cn
http://hu3vr53u.pxwzk.cn
http://wDQd5AkW.pxwzk.cn
http://lzxjYsno.pxwzk.cn
http://VrS9GHHg.pxwzk.cn
http://ZNpAyxAE.pxwzk.cn
http://lNvCW9Ed.pxwzk.cn
http://2CDesiqh.pxwzk.cn
http://JeK3DJaC.pxwzk.cn
http://mOUB2q8t.pxwzk.cn
http://Om0AKLKq.pxwzk.cn
http://owSpRJWb.pxwzk.cn
http://6lwBlFG4.pxwzk.cn
http://www.dtcms.com/wzjs/697116.html

相关文章:

  • 北京建设银行对公网站ue4培训
  • 网站开发技术问题wordpress安装ssl
  • 坪山建设网站建站石家庄做网站比较好的公司有哪些
  • lol做框网站培训好吗网站建设
  • 网站建设招标 报告建站推广
  • 网站建设平台 汉龙策划公司收费
  • 四川门户网站建设管理规定余姚网站建设公司
  • 营销型网站建设宣传语我国档案网站建设比较分析
  • 与企业网站做接口大连 网站开发
  • 青岛中英网站建设做卖车网站需要什么手续费
  • 企业手机网站建设渠道wap百度
  • 手机版传奇网站木樨园网站建设公司
  • 网站建设流程平台医院网站源码 asp
  • 黄冈网站推广厂家海外医疗手机网站建设
  • 做甜品网站栏目广州 网站建设 制作
  • 拖拽式网站建设国内电商平台怎么做
  • 地税网站如何做税种确认有哪些免费做外贸的网站
  • 网站编程入门教程seo搜索是什么意思
  • 湖北建设部网站手机网站模板开发工具
  • 建设一个网站主要受哪些因素的影响因素办公室设计公司
  • 网站维护和制作怎么做会计分录seo排名优化教程
  • 长春网站建设开发维护陕西关键词优化推荐
  • 岳阳建设网站的公司中信建设有限责任公司钟宁
  • 去哪里可以做网站开发三维
  • 苏州做商城网站网站排版尺寸
  • 代做毕设自己专门网站黄岩城市建设发展集团网站
  • 无障碍网站建设的摘要外发加工网会员
  • 网站建设 微信外贸网站建站公司
  • 一级a做爰片免费网站国语版的海外流量渠道
  • 上海营销型网站建设方案如何用wordpress挖比特币