小编key*_*zay的帖子

如何自动登录Google API以获取OAuth 2.0令牌以访问已知用户帐户

好了,这个问题已经被问过这里.在响应/问题的答案,用户告诉他存储refresh_token在应用程序(会话,而不是数据库,但不要紧,你保存它).在浏览了Google上的文档后,似乎access_token有一个到期日期,之后它就不再有效了.现在,我们显然可以在每个固定的时间间隔内自动刷新令牌,或者如果服务返回无效的令牌错误,从而延长令牌的生命周期,但由于某种原因,这个手动过程感觉有点hacky.我的问题是:

  • 这是通过在应用程序中手动登录并保留令牌来访问已知用户帐户的Google日历/应用程序数据的最有效(/普遍接受)方式吗?或者是否有其他机制允许我们以编程方式登录此用户帐户并完成OAuth步骤?

google-calendar-api google-api oauth-2.0

18
推荐指数
1
解决办法
2万
查看次数

ASP.NET __doPostBack在表单标记的开始或结尾之后呈现

我正在尝试__doPostBack从我的javascript代码手动调用ASP.NET(3.5)javascript回发函数.问题是通常在<form>标记开始之后(以及隐藏字段)呈现的回发脚本块有时会在结束</form>标记附近呈现.

有没有办法强制它在表单标记的开头附近呈现?另外,ASP.NET如何确定何时/何地呈现回发客户端脚本块?

编辑>附加信息: javascript代码驻留在引用该__doPostBack功能的用户控件中.控件本身不包含任何可以调用该函数的"回发控件".(当我提到'回发控件'时,我指的是调用__doPostBack函数而不是asp.net ImageButtonButton控件的ASP.net 控件)

基于我观察到的和@Brian关于回发脚本对页面上"回发控件"可用性的依赖性的评论,我发现当页面包含导致回发的控件时,会回显__doPostBack脚本块开场后<form>的标签,当没有,这使得他们在结束不久的</form>标签(或根据这个它甚至不应该被渲染).现在,如果没有需要它的控件,ASP.NET不会渲染回发脚本是有意义的,但是在结束标记附近的脚本的明显位置仍然是我不知道的.我无法找到任何表明此行为的文档.我能找到的就是这个.

话虽如此,我已经找到了几个解决这个问题的方法:

  1. 添加"回发控件"并通过css(而不是Visible属性)将其可见性设置为隐藏.例如.<asp:LinkButton ID="RequirePostBackScriptLink" runat="server" style="display:none;" />(这就是我正在使用的)
  2. 将控件添加到Page.RegisterRequiresPostBack并实现IPostBackDataHandler接口.

最后,正如@Jonathan_Bates在他的帖子中提到的,正确的做法是将引用包装__doPostBack在一个函数内部,该函数是一个事件处理程序load(或者ready如果你使用的是jquery).这样,就不需要依赖__doPostBack脚本的实际位置.

如果有人能提供有关上述行为的更多信息,那就太棒了.

javascript asp.net postback webforms

5
推荐指数
1
解决办法
1297
查看次数