Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须将 Facebook Credits 添加到我的应用程序中,为此我必须激活“OAuth 2.0 for Canvas”,它应该向我的应用程序发送签名请求
但是我注意到,当我在一段时间(或在不同的浏览器中)不使用该应用程序后第一次启动该应用程序时,signed_request 是空的。如果我重新加载页面,那么它就在那里。但第一次,它总是空的。我使用 $_REQUEST['signed_request'] 来获取它。
我的猜测是,这一定与 cookie 或会话过期有关。
有任何想法吗?
在您的应用程序设置中,请务必在您的应用程序路径(或标签 URL)上加上斜杠 - “/”。将其他设置保留为默认值。
答:打开应用程序时发送了signed_request。但是随后 require_login() 会导致页面重新加载(并非总是如此,但有时会),然后 signed_request 会丢失,从而导致根本没有发送 signed_request 的错觉。
解决方案:我用 GRAPH api 调用替换了所有 REST api 调用。
希望这些信息对某人有用!