如何通过url传递特殊字符(例如%),以便在google日历中创建新事件

如何通过url传递特殊字符(例如%),以便在google日历中创建新事件,url,urlvariables,Url,Urlvariables,我正在谷歌日历中通过以下URL结构创建一个新事件 https://calendar.google.com/calendar/r/eventedit? text=discount for Asgardian& dates=20200327T032400Z/20200327T032400Z& details=Thor will be there to receive you& location=Asgard& trp=false&a

我正在谷歌日历中通过以下URL结构创建一个新事件

   https://calendar.google.com/calendar/r/eventedit?
   text=discount for Asgardian&
   dates=20200327T032400Z/20200327T032400Z&
   details=Thor will be there to receive you&
   location=Asgard&
   trp=false&sprop=&sprop=name:
下面是一个URL变量text,它表示事件的标题

如果我传递一个普通的字符串,它工作得很好。但如果我通过了“%”这样的特殊字符(例如Asgardian的20%折扣),那么google calendar会给我-

  Bad Request 
  Error 400
如何通过“%”


(详细信息也有同样的错误)

在评论中,@terry回答了我如何通过URL传递
%
。 我需要将其编码为
%25

他还分享了一点——Javascript有一个用于URL编码的内置函数<代码>编码组件()

如果我们使用
encodeURIComponent()
包装字符串,它将为我们提供URL编码的字符串


谢谢

您需要对整个有效负载进行编码,以便它可以在URL中安全地传递。例如,
%
应编码为
%25
。您使用哪种语言?它适用于%25。谢谢。如果是这种情况,请尝试查看google calendar api的事件更新(POST)和事件修补(patch)方法,将参数值作为正文的一部分,为什么要像查询参数一样对它们进行字符串化?最重要的是,据我所知,r/eventedit甚至不是Google日历api端点。@IbnAhmed如果您不使用,请删除该标记并放置正确的标记。以避免混淆。日历API允许您显示、创建和修改日历事件,以及使用许多其他与日历相关的对象,如日历或访问控件。