首页 > 解决方案 > FB Messenger DELETE 持久菜单请求不起作用

问题描述

我能够成功地为每个用户添加持久菜单。

现在,当我删除持久菜单时,我得到 {'result': 'success'} 但仍然出现持久菜单。

当我检查用户的持久菜单状态时,它返回我添加的持久菜单。这是否意味着删除菜单不成功?

添加代码:

def add_persistent_menu(fb_id):

    params = {
                "access_token": PAGE_TOKEN
            }

    headers = {"Content-Type": "application/json"}
    data = json.dumps({
        "psid": fb_id,
        "persistent_menu": [
            {
                "locale": "default",
                "composer_input_disabled": False,
                "call_to_actions": [
                    {
                        "type": "postback",
                        "title": Go To Shop,
                        "payload": "gotoshop"
                    },
                    {
                        "type": "postback",
                        "title": Explore Items,
                        "payload": "exploreitems"
                    }
                ]
            }
        ]
    })

    req = requests.post(https://graph.facebook.com/v8.0/me/custom_user_settings, params=params, headers=headers, data=data)

删除代码:

def delete_persistent_menu(fb_id):

    params = {
               "access_token": PAGE_TOKEN,
               "psid": fb_id,
               "params": '["persistent_menu"]'
           }
    headers = {"Content-Type": "application/json"}

    req = requests.delete('https://graph.facebook.com/v8.0/me/custom_user_settings', params=params, headers=headers)

    logger.info(f"Delete Persistent reponse: {req.json()}")

获取代码:

def get_persistent_menu(fb_id):

    params = {
                "access_token": PAGE_TOKEN,
                "psid": fb_id
            }
    headers = {"Content-Type": "application/json"}
    req = requests.get('https://graph.facebook.com/v8.0/me/custom_user_settings', params=params, headers=headers)

    logger.info(f"Get Persistent reponse: {req.json()}")

获得持久的菜单响应:

"Get Persistent reponse":{
   "data":[
      {
         "user_level_persistent_menu":[
            {
               "locale":"default",
               "composer_input_disabled":false,
               "call_to_actions":[
                  ... persistent menus
               ]
            }
         ]
      }
   ]
}

我在这里做错了还是删除请求中缺少步骤?

标签: facebook-messengerfacebook-messenger-bot

解决方案


推荐阅读