问题标签 [facebook-canvas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - facebook 画布页面:应用行为依赖于用户个人资料的访问者
问题:
我想向用户 A(“所有者”)提供一个 facebook 应用程序作为画布页面。如果用户 A 在其个人资料中看到该应用程序,则该应用程序应该表现出行为 Ba。
如果有用户 B(“访问者”)正在访问所有者的个人资料并在所有者的个人资料中单击以查看应用程序的画布页面,则应用程序应根据访问者的个人资料表现出行为 Bb。访问者(用户 B)的个人资料中没有该应用程序。
一个类比是,乐队个人资料(http://www.facebook.com/hmbmusic?sk=app_178091127385)中的bandpage之类的应用程序会根据每个访问个人资料的人具有不同的行为。
我一直在研究 fb_sig_user 和 fb_sig_canvas_user 的东西,但无法得出结论是否可以做这样的事情。
是否可以?有小费吗?
iphone - 帖子墙 - 取消和分享按钮框架
我已经成功集成了 Facebook。但问题是当我尝试将数据发布到我的墙上内容时,超出了 iPhone 的屏幕尺寸。一些数据在 SHARE 和 CANCEL 按钮后面。如何根据我的内容大小更改框架?
facebook - Facebook 应用 iFrame - 使用 FB.Canvas.setSize(); 和 FB.Canvas.setAutoGrow();
我有一个使用 Javascript SDK 的应用程序,高度是通过FB.Canvas.setSize();
. 这工作正常:
但是假设页面上有内容会扩展,使高度大于初始化后设置的 iFrame 大小。我尝试使用FB.Canvas.setAutoGrow();
通过它传递的各种参数,但它会给我一个刷新循环并每次都扩大一点高度。
所以我的问题是,我如何才能使setAutoGrow
功能正常工作,仅在内容增长而不是按设定的时间间隔调整 iFrame 的大小?如果只能按设定的时间间隔进行,则仅在内容实际增长时刷新。
再次提前感谢!
facebook - 向应用程序的所有用户发送应用程序生成的请求
是否可以向画布应用程序的所有用户发送应用程序生成的通知请求?我目前正在向单个用户发送请求,而不是向整个用户群发送请求。我不想简单地遍历所有用户并向每个用户发送单独的请求。此外,这似乎是垃圾邮件。事实上,整个概念似乎都是垃圾邮件,所以如果答案很简单,“不,Facebook 不会让你这样做”,我不会感到惊讶。
facebook-canvas - 无法让我的应用出现在业务页面列表中
我为客户创建了一个基本的应用程序/登录页面,我想将它添加到客户的业务页面。一个月前我做了同样的事情,效果很好,但现在我不知道如何让我创建的应用程序出现在左侧的列表中。这是我尝试将我的应用添加到的企业帐户
http://www.facebook.com/OceansM
这是应用登陆页面
http://apps.facebook.com/oceans_mooloolaba
这是它确实工作的页面
有人可以帮我解决这个问题,它让我发疯,这与我添加到的客户页面有关吗?
php - 在 Facebook 画布应用中访问 POST 数据
我的画布/iframe Facebook 应用程序中有一个简单的表单,我正在尝试将值作为 POST 传递。现在,通过阅读所有关于 SO 和 FB 最新文档的所有内容,据我了解,通过 POST 表单发送的所有数据都可以在接收端从 $_REQUEST 对象访问。
我还在 SO 上的另一个线程上读到,为了使 POST 表单正常工作,您需要传递一个名为“signed_request”的输入,其值为当前的signed_request(否则我的签名请求工作正常......所有登录和身份验证东西工作正常)。官方 FB 文档中的任何地方都没有提到这一点。
所以我的问题是 $_REQUEST 对象中返回的所有内容都是签名请求,以及一堆其他会话内容。我的表单输入无处可寻。
我可以阅读它们的唯一方法是将表单的方法设置为“REQUEST”,这甚至不是真正的表单方法。但随后它会接受我所有的输入并将它们作为 URL 中的 GET args 发送。可怕。这是我的画布应用程序中的一个示例页面,其中只有一个我用来尝试调试的表单(省略了所有身份验证内容):
FB 文档令人困惑,因为其中一些文档指的是他们为处理画布应用程序的 POST 请求的旧应用程序所采用的 beta 迁移模式。
facebook - 我可以要求对画布 url 使用 HTTPS 来保护 signed_request 内容吗?
我正在使用 iframe 方法编写一个新的画布应用程序。我的后端对画布响应同时支持 HTTP 和 HTTPS,但默认情况下,Facebook 似乎将用户置于 HTTP 上,并通过 HTTP 直接以纯文本形式发送所有重要的凭据(即 signed_request 有效负载中的访问令牌等)。这当然是共享网络上的一个安全漏洞(咖啡店、办公室等,在那里嗅探访问令牌是微不足道的。)
如何强制我的所有画布请求通过 HTTPS 运行,并保护我的用户凭据?
我认为所有开发人员都应该希望或被要求这样做。虽然我是 Facebook 开发的新手,但令我惊讶的是,他们不会使用 HTTPS 进行所有用户访问令牌的直接传输。Oauth 1.0 具有允许通过 HTTP 使用访问令牌的机制(因为请求必须由客户端应用程序签名),但 OAuth 2.0 取消了所有这些,转而使用 HTTPS 处理具有嵌入式凭据的任何请求。Facebook 帮助设计了 OAuth 2.0,并且通过在画布请求中偏离 HTTPS 使用来破坏设计的安全性。
xss - 使用 window.top.location 从画布应用程序共享对话框链接
在使用 JS SDK 从应用程序共享内容时,我正在尝试使用 window.top.location 作为链接属性。这是一个 iframe 画布应用程序。
当我发送 window.top.location 时,我收到以下错误:
错误:访问属性“toJSON”源文件的权限被拒绝: http ://connect.facebook.net/en_US/all.js行:9
我也尝试传入 window.top.location 的 href 属性,但在我自己的代码中出现类似错误:
错误:访问属性“herf”源文件的权限被拒绝: http://localhost:2888/Scripts/quickView.js行:65
我假设这是一个 XSS 问题,但我想知道是否有办法解决它。我总是可以将画布页面 url 从服务器传递给客户端,但我想看看我们是否可以让它工作。
感谢您对此的想法。
https - 如何在没有安全画布 URL 的情况下创建 FB 应用
我想创建一个简单的应用程序,它允许您将任何网站放在 Facebook 页面中的选项卡上。
以前,我可以在没有安全画布 URL 的情况下执行此操作,但现在它告诉我必须拥有它才能创建应用程序。
有没有办法解决这个问题,因为该应用程序不会从任何人那里获取任何信息,它只是在页面上显示来自我的服务器的一个站点。
facebook - facebook 应用程序安全画布 URL
我对 facebook 应用程序安全画布 URL 有一些疑问。
对于 facebook 应用程序安全画布 URL 或安全页面选项卡 URL,它是否需要特定类型的 SSL 证书,或者其中任何一种都可以?
由于我使用一个域来托管不同应用程序中的所有内容,因此使用相同安全域的不同应用程序是否可以?
例如,如果我为我的域购买了 SSL,假设它是http://abc.com。我需要在安全画布 URL 框中输入的是https://abc.com,对吗?我猜对了吗?