使用Shopify API更新密码

12
我们可以使用Shopify API来更新已经存在于Shopify中的用户或客户的密码吗?

好像不是这样的。他们难道不应该自己做吗? - Appleman
嘿,@Appleman,我不知道他们是否这样做,但我想自己尝试一下。我想知道可能性。你能给我建议吗? - Pushpender Sharma
嗯,我已经查看了API,没有发现任何有用的东西。但是我会继续思考,并在我找到解决方案时立即通知您。 - Appleman
谢谢,继续思考,如果您找到解决方案,请告诉我 :) - Pushpender Sharma
9个回答

9
尽管API文档没有提及更改客户密码,但您实际上可以使用PUT /admin/customers/#{id}.json端点更改客户密码。请注意,我的答案仅适用于客户,而不适用于用户。
我已经测试过,并成功更改了客户密码并使用新密码登录商店。在我的测试中,我使用了一个私人应用和一个普通应用,两者都取得了成功的结果。
示例:
PUT /admin/customers/5206361102.json
正文:
{
  "customer": {
    "id": 5206361102,
    "password": "mypass2",
    "password_confirmation": "mypass2"
  }
}

如果您需要客户 ID,可以使用 GET /admin/customers/search.json 端点来查找它。例如,您可以从以下结果中获取 ID:
GET /admin/customers/search.json?query=email:customeremail@customerdomain.com
结果:
{
  "customer": {
    "id": 5206556238,
    ... other parameters ...
  }
}

感谢@spviradiya的评论,让我找到了这个答案,我已经测试并将其应用到我的项目中。


1
很棒的答案!我只想补充一下,正如Abhijit所指出的那样,加上"send_email_welcome": false,以避免向他们发送不必要的电子邮件。 - ADTC
我正在使用 /admin/api/2021-10/customers/<ID>.json,不过是的,它仍然有效。我正在使用 Shopify Plus 和管理员 API。 - RaisinBranCrunch

4

3
        PUT /admin/customers/#{id}.json
    {
      "customer": {
        "id": 207119551,
        "password": "newpass",
        "password_confirmation": "newpass",
        "send_email_welcome": false
      }
    }

0

如果您想使用Shopify API更新商店客户的密码,那么是可以实现的。以下是示例代码:

$password = array(
          "customer"=>array(
              'id'=>$customerid,
              'password'=> $new_password,
              'password_confirmation'=>$confirm_password    

          )
      );
$customer = $shopify("PUT /admin/customers/$customerid.json" , $password);

您可以通过以下方式更新Shopify商店的客户密码。 但是,如果您要谈论用户,则此API仅适用于Shopify Plus商店。请查看此链接:https://help.shopify.com/api/reference/plus/user

谢谢


0

不行,

直到2019年,它仍然只能被视为只读。即使您可以访问此link


0

不,目前在普通的 Shopify 店铺 API 中不可能实现。也许他们将在下一个 Plus 版本中扩展此类功能,但说实话,Plus 的成本很高,与普通的 Shopify 店铺相比,使用 Plus 的人非常少。


我总是惊讶地发现有人能够负担得起使用 Plus。他们一定年销售额达到了数百万! - ADTC

0
如果您想使用Shopify API更新用户密码,请尝试使用以下代码:

$updatePassword = array(
          "customer"=>array(
              'id'=>$userId,
              'password'=> $updatedPassword,
              'password_confirmation'=>$confirm_updatedPassword,
              'send_reset_password_email': true    

          )
      );
$updateCustomer = $shopify("PUT /admin/customers/$userId.json" , $updatePassword);


0

是的,您可以使用Shopify API更改已在Shopify注册的用户或客户的密码。您可以使用customerReset变异来完成此操作。此修改需要修订后的密码和客户的电子邮件地址。成功变异后,将向客户发送一封带有重置用户名和密码链接的电子邮件。

mutation customerReset($email: String!, $password: String!) {
customerReset(email: $email, password: $password) {
customer {
  id
  email
    }
   }
 }

请注意,只有最初设置帐户的Shopify客户才能更新其密码。无法使用customerReset变异来创建新客户端。

-1
是的,Shopify提供了一个API,允许您以编程方式更新客户的密码。Shopify API具有专门用于管理客户的端点,包括更新他们的密码。
要使用Shopify API更新客户的密码,您需要执行以下步骤:
1. 验证API请求:确保您具有必要的身份验证凭据(API密钥、API密钥和访问令牌),以便使用Shopify对API请求进行身份验证。 2. 发送PUT请求以更新客户的密码:使用Customers API端点以及客户的ID或电子邮件来更新他们的密码。以下是使用cURL的示例:
curl -X PUT "https://your-store-name.myshopify.com/admin/api/2023-10/customers/customer_id.json" \
-H "Content-Type: application/json" \
-H "Authorization: Basic BASE64ENCODED(API_KEY:API_PASSWORD)" \
-d '{
  "customer": {
    "id": customer_id,
    "password": "new_password",
    "password_confirmation": "new_password"
  }
}'

请将your-store-name替换为您实际的Shopify商店名称,将customer_id替换为您要更新密码的客户的ID,将new_password替换为所需的新密码。
请注意,API版本(例如2023-10)应根据您使用的具体版本或API请求时可用的最新稳定版本进行更新。
3. 处理API响应:处理API响应,以确保密码更新请求成功。响应将指示密码是否已更新或是否存在任何错误。
4. 安全管理密码:始终遵循管理密码的最佳实践,包括安全存储和传输密码。鼓励客户使用强密码和独特密码来保护他们的账户。
在处理客户的密码更改时,安全且符合数据保护法规至关重要。此外,在与API交互时,建议使用HTTPS和安全的数据传输方法。
请记住,在将API请求应用于生产环境之前,在安全环境中进行测试,特别是在处理敏感客户信息(如密码)时。

1
你的回答可以通过提供更多的支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的回答是否正确。你可以在帮助中心找到更多关于如何撰写好回答的信息。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接