为什么会有相互冲突的变量?

2024-02-01

我在 facebook javascript SDK 和 python requesthandler 变量之间得到了冲突的结果。 Javascript SDK 表示我的用户未登录,这是正确的,而来自基本请求处理程序的模板变量表示我的用户已登录并显示用户名。是否有足够的信息来说明问题所在,或者我应该在此处粘贴我认为相关的代码?出现错误的登录页面的链接是here http://www.koolbusiness.com/login。我使用的示例称为 facebook 的 runwithfriends 演示应用程序,该应用程序的所有功能都可以正常工作,除了仅使用来自网站的应用程序逻辑而不要求用户位于应用程序的 iframe 中。

另外,我似乎无法让实时 API 工作。我只能保存用户 ID 而不能刷新用户数据 - 为什么?我有代码,但我不确定什么是最相关的,但这是一些请求处理程序,相关代码基本上与演示应用程序中的代码完全相同:

def render(self, name, **data):
    logging.debug('render')
    """Render a template"""
    if not data:
        logging.debug('no data')
        data = {}
    data[u'js_conf'] = json.dumps({
        u'appId': facebookconf.FACEBOOK_APP_ID,
        u'canvasName': facebookconf.FACEBOOK_CANVAS_NAME,
        u'userIdOnServer': self.user.id if self.user else None,
    })
    data[u'logged_in_user'] = self.user #variable that is the problem
    data[u'message'] = self.get_message()
    data[u'csrf_token'] = self.csrf_token
    data[u'canvas_name'] = facebookconf.FACEBOOK_CANVAS_NAME
    self.response.out.write(template.render(
        os.path.join(
            os.path.dirname(__file__), 'templates', name + '.html'),
        data))

And even more strange, I can also get the application in a state where the javascript SDK says the user is logged in and the template variable logged_in_user says otherwise. Why are the variables conflicting? Update: Here are screenshots from the strange login flow. I can go to my page and my name from facebook appears: enter image description here Then when I go to next page it also looks alright and has my name enter image description here But if I log out then I gets in impossible state: my name + logged out

enter image description here How can I resolve this strange conflict between js and back-end?

更新:由于我只在我的一个应用程序中遇到此问题,因此我可以从其他应用程序中获取有效的内容并进行集成。该页面似乎可以在我的其他应用程序中使用:http://cyberfaze.appspot.com/file/20985 http://cyberfaze.appspot.com/file/20985


您的“用户”可能指的是 Django 用户而不是 Facebook 用户。确保使用自定义身份验证后端正确同步两个帐户。如果用户切换浏览器,帐户可能会不同步。

请记住,Facebook Python SDK 将在 10 月 1 日之后停止工作,除非他们将其更新到 Oauth2.0,但这不太可能。

我刚刚更新了Django-facebook-graph https://github.com/feinheit/django-facebook-graph使用新的身份验证流程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么会有相互冲突的变量? 的相关文章

  • 如何使用 Python 多处理避免在分叉进程中加载​​父模块

    当您创建一个Pool使用Python的进程multiprocessing 这些进程将分叉 父进程中的全局变量将显示在子进程中 如下面的问题所述 如何限制多处理进程的范围 https stackoverflow com questions 2
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • 专用网络:web3.eth.getAccounts() 始终发送空数组

    我正在运行一个私人以太坊网络 我确实用https aws amazon com blockchain templates 整个设置已经完成 AWS 上的设置看起来正确 现在 我正在尝试创建帐户并检索所有这些帐户 为此 我使用以下方法 Web
  • 在 matplotlib 中使用 yscale('log') 时缺少误差线

    在某些情况下 当使用对数刻度时 matplotlib 会错误地显示带有误差条的图 假设这些数据 例如在 pylab 内 s 19 0 20 0 21 0 22 0 24 0 v 36 5 66 814250000000001 130 177
  • 空 URL 哈希导致页面在 js 事件上跳转

    我有一个带有下一个和上一个按钮的照片库 如果我的某个 javascript 方法由于某种原因被破坏 那么当单击其中一个按钮时 它会向 url 添加一个哈希值 即 www google com 我知道可以给散列一个 div id 来跳转到页面
  • 如何检查列表是否为空?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 例如 如果通过以下内容 a 我如何检查是否a是空的 if not a print Lis
  • 使用 onBlur 事件上的值更新 React 输入文本字段

    我有以下输入字段 在模糊时 该函数调用服务来更新服务器的输入值 完成后 它会更新输入字段 我怎样才能让它发挥作用 我可以理解为什么它不允许我更改字段 但我能做些什么才能使其工作 我无法使用defaultValue因为我会将这些字段更改为其他
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • Open Graph beta:如何在操作中标记朋友?

    我已经成功地使用发布了一个活动图形API http en wikipedia org wiki Facebook Platform Graph API 如何在操作中标记好友 我可以看到您可以在操作仪表板中添加标签 但除此之外 它没有指定如何
  • 如何向 SCons 构建添加预处理和后处理操作?

    我正在尝试在使用 SCons 构建项目时添加预处理和后处理操作 SConstruct 和 SConscript 文件位于项目的顶部 预处理动作 生成代码 通过调用不同的工具 gt 不知道在此预处理之后将生成的确切文件 可以创建用于决定生成哪
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • 在 Python 的 Textmate 中突出显示尾随空格?

    我想做类似的事情this http remysharp com 2008 03 30 trailing white space in textmate Textmate 提示 这样当我在 Python 中编写代码时 尾随空白总是以某种方式突
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 有没有办法防止输入 type=“number” 获得多个点值?

    我只想得到十进制值 如 1 5 0 56 等 但它允许多个点 有什么办法可以预防吗 您可以使用pattern属性
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • issubclass() 对从不同路径导入的同一类返回 False

    目的是实现某种插件框架 其中插件是同一基类 即 A 的子类 即 B 基类使用标准导入加载 而子类使用 imp load module 从众所周知的包 即 pkg 的路径加载 pkg init py mod1 py class A mod2
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo
  • 为什么我收到 com.facebook.sdk.login 错误 308?

    我正在使用 Xcode 7 0 在 iOS 9 0 2 上进行测试并使用 Facebook SDK 4 7 0 当我登录用户时 大多数时候一切都正常 但有时我不断收到此错误 但我不知道为什么 操作无法完成 com facebook sdk
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • 在运行时拒绝并授予权限后,在 Android 应用程序上获取 FileNotFoundException

    我正在尝试让应用程序从 SD 卡播放 mp3 我正在使用 android sdk 版本 23 以及 Windows 8 上的 Android studio 我在 Nexus 5 模拟器上运行它 我在运行时请求权限 如果我拒绝一次权限但在第二
  • Selenium Webdriver C# Sendkeys (Keys.Arrowdown)

    我正在尝试使用 Selenium Webdriver C 编译做一个箭头 但是当我尝试编译时出现此错误 Keys 是 OpenQA Selenium Keys 和 OpenQA Selenium Keys 之间的不明确引用 系统 Windo
  • 如何在Android中创建自定义WebView?

    我有扩展 webview 的类 MyCustomWebView 我可以做这样的事情吗
  • 在内存中存储图形的三种方法及其优缺点

    可以通过三种方式在内存中存储图表 节点作为对象 边作为指针 包含编号节点 x 和节点 y 之间的所有边权重的矩阵 编号节点之间的边列表 我知道如何写这三个 但我不确定我是否考虑过每个的所有优点和缺点 这些在内存中存储图形的方法各自的优点和缺
  • Android 清单错误清单文件不以最终换行符结尾

    Error 清单文件不以最终换行符结尾 检查清单文件是否以最终换行符结尾 根据 JAR 规范的要求 预期的 这是 AndroidManifest
  • 为什么我会收到此错误? AttributeError:“str”对象没有属性“decode”

    我正在尝试创建一个带有电子邮件验证的注册页面 我是 Python Dajngo Web 开发的新手 目前我使用 Python 3 6 Django 2 2 4 Postgresql 11 和 Ubuntu 操作系统 但我有一个问题 无法弄清
  • 无法在android中设置推送通知声音

    我已经创建了推送通知应用程序 我从 GCM 服务获取消息 但推送通知声音不起作用 当我收到通知时 我需要播放声音 我已在下面发布了我的代码 任何人都可以帮助我 receiver class import android app Activi
  • React-Native Bundle Error 未计算文件的 SHA-1

    我在创建反应本机应用程序包时遇到此错误 我正在执行命令React Native Bundle dev false entry file index js bundle output ios main jsbundle platform io
  • 如何使用discord.js获取特定会员用户名

    我想在嵌入消息中添加一个特定的会员信息 用户名 头像 有人知道该怎么做吗 const feedback new discord RichEmbed setColor 0 0 255 setFooter Bot created by mess
  • 是否可以在 Kubernetes 复制控制器中设置主机名?

    我需要在 Kubernetes 复制控制器中设置静态主机名 Docker 通过一些运行时标志来支持它 但是 Kubernetes 复制控制器似乎不支持它 环境 操作系统 CentOS 6 6 使用 sysctl 更改变量 kernel ho
  • CSRF 攻击适用于 API 吗?

    我正在编写一个 Django RESTful API 来支持 iOS 应用程序 每当我编写处理 POST 请求的方法时 我都会遇到 Django 的 CSRF 保护 我的理解是 iOS 管理的 cookie 不会被应用程序共享 这意味着我的
  • 如何通过请求使用转换流?

    基本上 我想在使用转换流将http响应发送到客户端之前更改它 但是下面的代码抛出一个错误 错误 结束后写入 有关的文档http nodejs org api stream html stream writable end chunk enc
  • 提升和变量范围

    有人可以帮助解释为什么下面的两个代码片段打印出不同的结果吗 区别在于条件语句内部 第一个例子中 有一个局部变量 Jack 分配给 name 并且条件为 true 意味着 name 的计算结果为 true 在第二个例子中 相同的名称 Jack
  • ASP.NET MVC 成员角色

    我需要对 ASP NET 会员资格进行一些说明 请帮助我 我正在使用 ASP NET MCV 3 框架 并打算使用 ASP NET 成员身份通过 LDAP 或 SQL 进行用户和身份验证管理 对于我到目前为止所理解的 ASP NET 会员资
  • 将科学计数法的字符串转换为 XPath 中的数字格式

    我有这个字符串 8 1161E 002 这个字符串实际上是计算的结果 不幸的是结果被转换为字符串并且我无法更改它 那么我怎样才能将这个字符串转换为类似的格式00 081 我正在查看 XPath 参考 但找不到format 例如函数 有没有办
  • std::函数向量

    我想要一个 std vector 包含一些函数 并且可以实时向其中添加更多函数 所有的函数都会有一个这样的原型 无效名称 SDL Event 事件 我知道如何创建函数数组 但是如何创建函数的 std vector 我试过这个 std vec
  • Android:仅旋转相机预览上的覆盖按钮

    我有一个 Android 应用程序 使用 LinearLayout 作为主要布局 并使用相机预览填充 SurfaceView 在此 我用三个按钮和一个自定义 TextView 填充另一个 LinearLayout 我希望相机预览始终保持横向
  • 为什么 Process.WorkingSet > Process.MaxWorkingSet?

    闲着的好奇心 我正在查看当前进程的一些属性 using Process p Process GetCurrentProcess Inspect properties p MaxWorkingSet 1 413 120 p MinWorkin
  • 在 matplotlib 表中换行文本

    我需要使用 matplotlib 从字典列表中创建一个表 为此 我使用以下函数 我在该网站的另一个答案中找到了该函数 import matplotlib pyplot as plt from matplotlib externals imp
  • 为什么会有相互冲突的变量?

    我在 facebook javascript SDK 和 python requesthandler 变量之间得到了冲突的结果 Javascript SDK 表示我的用户未登录 这是正确的 而来自基本请求处理程序的模板变量表示我的用户已登录