我希望从Shopify商店卸载应用程序后删除PHP应用程序中的商店详细信息,这些应用程序在安装应用程序时存储在数据库中,
现在我得到了一些解决方案,如下所示:
$create_webhook = array('webhook'=>array(
'topic'=> 'app/uninstalled',
'address'=>'{{ mydomainname}}/uninstalled.php',
'format'=> 'json'
));
$request_update = $shopify('POST /admin/webhooks.json ', array(), $create_webhook);
但是我们可以在安装时或任何其他时间创建此webhook吗?
答案 0 :(得分:4)
在不知道架构的情况下,很难分辨出您要删除的数据。如果您能够提供一个示例,说明您要插入的数据以及可用的列类型,我们可能会提供更多帮助。
说了这么多,从数据库中删除一行是相当简单的。我假设您正在寻找一个从数据库中删除内容的脚本,下面将会这样做。您需要更新SQL查询以反映您的架构。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// sql to delete a record
$sql = "DELETE FROM MyGuests WHERE id=3";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
答案 1 :(得分:4)
您的示例代码正在注册一个回调,该回调将由shopify卸载webhook访问,该回调将在您的应用程序通过shopify管理UI卸载时运行。确保“address”属性是应用程序卸载回调的公共URL。
是的,您可以随时为webhook注册回调。
当卸载应用程序时,shopify会向您在“地址”属性中指定的地址发送一个POST请求,其中json payload包含客户详细信息。
在回叫删除客户数据之前,请务必收集X-Shopify-Hmac-SHA256标题并验证这是真实的请求。
Make sure you have all the data you need before the uninstall hook is run. 卸载会撤消帐户令牌,从shopify中删除已注册的webhook和应用数据。