Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

`api_client.FormsApi.update()` failing for forms created via `new-editor` web UI.

未关闭
#431 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
python
领域
api

调研方向

首先使用提供的 Python 脚本以及针对 legacy 和 new-editor 表单的等效 curl 请求重现该更新。比较 v3 和 v4 端点,并记录 allowlist 响应是否独立于 SDK 发生。完成标准是识别 API 侧限制,并恢复受支持的更新,或记录所需的访问权限和端点。

由索引模型根据 Issue 内容生成。

描述

Please note that this is an issue with the API in general, not specifically the Python SDK, as I get the same response when I run curl PUT or PATCH commands against the API.

To reproduce:

  1. Create a form via the web UI using the legacy editor
  2. Create a form via the web UI using the new editor
  3. Run the following script (replace placeholders)
import hubspot
from hubspot.marketing.forms import ApiException

client = hubspot.Client.create(access_token="PAT_TOKEN")

LEGACY_FORM_ID = "LEGACY_FORM_ID_HERE"
NEW_FORM_ID = "NEW_FORM_ID_HERE"

def main():
    # works as expected
    legacy_form_def = get_form_by_id(LEGACY_FORM_ID)
    legacy_form_def.name = "UPDATED_LEGACY_FORM_NAME"
    update_legacy_form_response = update_form(LEGACY_FORM_ID, legacy_form_def)

    # fails
    new_form_def = get_form_by_id(NEW_FORM_ID)
    new_form_def.name = "UPDATED_NEW_FORM_NAME"
    update_new_form_response = update_form(NEW_FORM_ID, new_form_def)

def update_form(form_id, form_data):
    try:
        api_response = client.marketing.forms.forms_api.update(form_id=form_id, hub_spot_form_definition_patch_request=form_data)
        return api_response
    except ApiException as e:
        print("Exception when calling forms_api->update: %s\n" % e)
        return None

def get_form_by_id(form_id):
    try:
        api_response = client.marketing.forms.forms_api.get_by_id(form_id=form_id)
        return api_response
    except ApiException as e:
        print("Exception when calling forms_api->get_by_id: %s\n" % e)
        return None

if __name__ == "__main__":
    main()

Response when trying to update the form created via the new editor:

HTTP response body: {"status":"error","message":"The client is not allowlisted to perform an operation to v4 forms","correlationId":"4821afe0-8303-4adc-a358-55cd48a70bfb","category":"BANNED"}

What I've tried so far:

  • Updated the URL from https://api.hubapi.com/marketing/v3/forms/{form_id} to https://api.hubapi.com/marketing/v4/forms/{form_id}
  • Finding v4 marketing->form docs online (can't find them)
主要语言
Python
星标
434
派生
126
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

HubSpot/hubspot-api-python 的其他 Issue

查看 HubSpot/hubspot-api-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。