You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过API为Shopify文章上传图片的技术求助

Shopify 2022-07版本Admin REST API文章图片上传失败排查

我使用Golang开发,参照Shopify官方文档创建包含图片的博客文章,此前功能正常,但近期调用2022-07版本的Shopify Admin REST API时,无法为文章成功上传图片,返回的响应中没有图片URL。已尝试复制主题,问题仍未解决。以下是相关代码、请求内容及API响应,恳请协助排查:

newArticle函数代码

func newArticle(client *http.Client, Title string, Tags string, Body string, ImgSRC string, ImgTitle string, metaValue string, QueryURL string) *http.Response {
    pageArticle := &ArticleRequest{
        Article: Article{
            Title:       Title,
            Author:      "Hit Parader",
            Tags:        Tags,
            BodyHTML:    Body,
            PublishedAt: time.Now().UTC().Format("2006-01-02T15:04:05-0700"),
            Image: ArticleImage{
                Src: ImgSRC,
                Alt: ImgTitle,
            },
            Metafields: []ArticleMeta{
                {
                    Key:       "feature_image_page_number",
                    Value:     metaValue,
                    Type:      "single_line_text_field",
                    Namespace: "custom",
                },
            },
        },
    }

    spew.Dump(pageArticle)
    articleJSON2, err := json.Marshal(pageArticle)
    if err != nil {
        fmt.Println(err)
    }
    articleReq2, err := http.NewRequest("POST", QueryURL, bytes.NewReader(articleJSON2))
    if err != nil {
        fmt.Println(err)
    }
    articleReq2.Header.Add("X-Shopify-Access-Token", "TOKEN_HERE")
    articleReq2.Header.Add("Content-Type", "application/json")

    resp3, err := client.Do(articleReq2)
    if err != nil {
        fmt.Println(err.Error())
    }

    body, err := io.ReadAll(resp3.Body)
    if err != nil {
        fmt.Println(err)
    }

    sb := string(body)
    fmt.Println(sb)

    return resp3
}

Spew.Dump输出内容

(*load.ArticleRequest)(0xc000186000)({  Article: (load.Article) {
 Title: (string) (len=83) "Hit Parader Magazine - January/February 2008
 - Hard Rock's Top 100 Live Bands-cover",   Author: (string) (len=11) "Hit Parader",   Tags: (string) (len=130) "2000s, 2008, cover,
 hitparadermagazi51unse_32, Hit Parader Magazine - January/February
 2008 - Hard Rock's Top 100 Live Bands-cover",   BodyHTML: (string)
 (len=92) "<H1>Hit Parader Magazine - January/February 2008 - Hard
 Rock's Top 100 Live Bands-cover</H1>",   PublishedAt: (string)
 (len=24) "2023-05-14T15:35:41+0000",   Image: (load.ArticleImage) {
 Src: (string) (len=71)
 "https://archive.org/download/hitparadermagazi51unse_32/page/cover_large",
 Alt: (string) (len=83) "Hit Parader Magazine - January/February 2008 -
 Hard Rock's Top 100 Live Bands-cover"   },   Metafields:
 ([]load.ArticleMeta) (len=1 cap=1) {    (load.ArticleMeta) {
     Key: (string) (len=25) "feature_image_page_number",
     Value: (string) (len=3) "1,2",
     Type: (string) (len=22) "single_line_text_field",
     Namespace: (string) (len=6) "custom"    }   }  } })

API响应内容

{
  "article": {
    "id": 564313718976,
    "title": "Hit Parader Magazine - January/February 2008 - Hard Rock's Top 100 Live Bands-cover",
    "created_at": "2023-05-14T08:35:38-07:00",
    "body_html": "\u003ch1\u003eHit Parader Magazine - January/February 2008 - Hard Rock's Top 100 Live Bands-cover\u003c/h1\u003e",
    "blog_id": 84637483200,
    "author": "Hit Parader",
    "user_id": 77498417344,
    "published_at": "2023-05-14T08:35:38-07:00",
    "updated_at": "2023-05-14T08:35:38-07:00",
    "summary_html": null,
    "template_suffix": null,
    "handle": "hit-parader-magazine-january-february-2008-hard-rocks-top-100-live-bands-cover",
    "tags": "2000s, 2008, cover, Hit Parader Magazine - January/February 2008 - Hard Rock's Top 100 Live Bands-cover, hitparadermagazi51unse_32",
    "admin_graphql_api_id": "gid://shopify/OnlineStoreArticle/564313718976"
  }
}

内容的提问来源于stack exchange,提问作者Sp3LLingzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:35:13