问题标签 [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.

0 投票
4 回答
22087 浏览

facebook-php-sdk - PHP SDK:如何在用户授权应用程序后捕获访问令牌?

这是在 Facebook 平台上使用新的(est)Facebook PHP SDK 的画布应用程序。

我们正在使用 Facebook 教程 (https://developers.facebook.com/docs/appsonfacebook/tutorial/) 中的 PHP 示例来触发 OAuth 对话框并让测试用户访问重定向 URL。

在重定向 URL 中,我们使用 Facebook 签名请求文档页面 (https://developers.facebook.com/docs/authentication/signed_request/) 中的 PHP 示例,我们的测试用户可以成功授权应用程序。

但是,在测试用户对应用程序进行身份验证后,我们无法捕获访问令牌及其过期时间。我们可以在附加到重定向 URL 的地址栏中看到它,但它没有出现在 $_REQUEST 数组中。如果我们将 {$access_token = $facebook->getAccessToken();} 添加到重定向 URL 页面,它会显示访问令牌的值,但它显示的值不是我们单击 Show 时看到的完整令牌字符串测试用户角色页面中的令牌(我们认为这是测试用户的正确访问令牌)。

以下是附加了访问令牌的重定向 URL 示例:http: //karmakorn.com/karmakorn/alpha20/kk-fb-auth.php#access_token=126736467765%7C2.AQDavId8oL80P5t9.3600.1315522800.1-100002908746828%7CJICJwM1XP_97 7Y&expires_in=6008

这是 var_dump 为同一页面的 $ REQUEST 数组显示的内容: array(3) { [" _qca"]=> string(26) "P0-709927483-1291994912966" ["__switchTo5x"]=> string(2) " 30" ["PHPSESSID"]=> 字符串(26) "euois02ead39ijumca7nffblh2" }

我们不知道为什么 $_REQUEST 数组与附加到 URL 的值不同,更重要的是 - 如何捕获访问令牌及其到期日期。

有人可以向我们展示他们在重定向页面上运行 parse_signed_request($signed_request, $secret) 函数后如何捕获这些数据的工作示例吗?谢谢!

附加信息:

这是 A)我们的测试索引页面和 B)我们的测试重定向页面的相关代码。如果我们使用我们的文本索引页面作为重定向 url,它会陷入死循环——因为用户永远不会被识别。

A) 索引页

B) 重定向页面

以下是这些回声结果显示的内容:

用户:0 访问令牌:126736467765| **秘密** 签名请求:array(3) { [" _qca"]=> string(26) "P0-709927483-1291994912966" [" _switchTo5x"]=> string(2) "30" ["PHPSESSID" ]=> 字符串(26)“frugi545cdl15gjind1fnv6pq1”}

有趣的是,当测试用户返回索引页面时,如果条件满足,我们可以得到正确的访问令牌:

欢迎用户:100002908746828 访问令牌:126736467765|2.AQBgcyzfu75IMCjw.3600.1315544400.1-100002908746828|m5IYEm976tJAkbTLdxHAhhgKmz8

显然,我们仍然缺少一些东西!?此外,我们还需要学习如何将过期时间作为变量获取,以便我们可以将这两者都存储在我们的数据库中。

0 投票
1 回答
672 浏览

facebook - 任何没有 FBML 的“标准”朋友选择对话框可用吗?

我对 facebook 开发相当陌生,对于这里的任何愚蠢问题,我深表歉意。我开发了一个基于画布的(iframe)应用程序。

我使用请求对话框 (http://developers.facebook.com/docs/reference/dialogs/requests/) 来邀请朋友。效果很好。

但是,我现在需要选择我的一部分朋友来与他们一起做一些特定的事情。例如,我只希望我的一部分朋友在我的应用程序中看到某些内容。

我构建了一个笨重的页面,它使用图形 API 来获取朋友列表并且它可以工作。但是,我希望有一些用户熟悉的标准对话框可以用来执行此操作。

到目前为止,我发现的是基于 FBML 的,因此已被弃用。我还发现了一些 JS api 的东西,但我的理解是它适用于网站,而不是主要在服务器端运行的画布应用程序。

谢谢!

0 投票
2 回答
894 浏览

fluid - 标签应用程序流体宽度不起作用

我有一个标签应用程序在高度和宽度上都设置为流体。高度没问题......宽度不起作用,所以我的页面的很大一部分(只有 648 像素宽)没有显示出来。我们故意将宽度设置为小于最大值,这样我们就不会遇到这个问题。要查看您可以转到箭头紧固件页面...比赛或像我们一样进入标签。

0 投票
1 回答
185 浏览

image - 在 Facebook 的画布上加载不起作用...?

我的服务器对 facebook 应用程序的响应时间很差。我希望在它仍然是空白页面时显示加载图像。我尝试通过 ajax 但这不起作用,因为我包含一个执行身份验证部分的文件,并在身份验证成功时重定向到同一页面。尝试了一些其他的东西(比如jquery),但这也没有奏效。

有谁知道该怎么做?我知道如何在常规网站上执行此操作,但它在 Facebook 中不起作用......当页面轮询 facebook 服务器以获取用户 ID、名称、about_me 等时,需要显示加载图像。

非常感谢!

0 投票
1 回答
106 浏览

https - HTTPS AppStrip 代码?

使用 AppStrip 的人是否有通过 HTTPS 调用 AppStrip 栏的代码?我希望下周能在 10 月 1 日迁移截止日期之前进行测试,但他们还没有用代码更新他们的网站。最后我听说这周应该有事。谢谢!

0 投票
1 回答
238 浏览

facebook - Facebook 画布/标签应用程序、fb_sig_profile_id、fb_sig_app_id

随着 10 月 1 日 Facebook 应用程序的更改,我无法确认我们的 Canvas/Tab 应用程序将/不会按预期工作。

当用户首次使用应用程序加载选项卡时,我希望 facebook 向我发送“fb_sig_profile_id”(我认为应该是页面的 ID)和“fb_sig_app_id”(应用程序的 ID)的参数。

我不需要/不想对用户进行身份验证或访问 UserData/Graph 等。我只是根据这些参数在我端显示内容。

如果不再是这种情况并且 Facebook 不会向我发送这些参数,有人可以指出我如何获取这些数据的方向。

谢谢

0 投票
1 回答
304 浏览

ruby-on-rails - 使用 routes.rb 的 Facebook 画布 URL

我想要我的 FB 画布应用

行为与我的网络应用程序相同

我已经在 facebook 开发者页面中设置了画布 url

使用 Rails 3.1,我想知道如何轻松地将 /canvas 路由到我的应用程序中,以便转到上面的第一个 url 不会路由到 facebook 画布页面之外(并且所有资源都按预期工作)。

0 投票
1 回答
404 浏览

javascript - 在 Canvas 应用上更改页面标题

这是在黑暗中拍摄,但是否可以使用 Javascript 更新画布应用程序的页面标题?虽然页面标题似乎反映了应用程序,但是否可以在页面呈现后更新它?

我希望能够根据应用程序中发生的事情为标题添加一个活动计数器(例如“(0)标题”,“(1)标题”,“(2)标题”),这不会在 iframe 中似乎是可能的。

[编辑] Document.title 显然不起作用,因为它已应用于我的页面。但我也尝试过 parent.document.title 但这也不起作用。

0 投票
1 回答
619 浏览

iframe - 外部(CDN 托管)图像请求 URL 在 IE8 中通过 https 在画布页面上重写,请求 proxy.php

我在 Facebook 上有一个基于画布的应用程序,需要加载很多图像,所以我在 JavaScript 中创建它们。

这些图像托管在 Amazon 的 CDN 上,它们的基本 URL 类似于:

托管在云(EC2,也是亚马逊)中的应用程序的 URL 类似于:

它适用于大多数浏览器,但不适用于 IE (8)。

在 IE 中,如果我检查创建的图像的src属性,它会显示正确的 URL,但浏览器会发出以下请求:

我的服务器上没有proxy.php,我的代码中的任何地方都没有“代理”这个词,无论是客户端还是服务器端。

关于通过 https 提供的 iframe 画布页面中的外部托管内容,我有什么不知道的吗?

0 投票
1 回答
468 浏览

php - 如何使用服务器中的同一文件夹为安全 URL [https] 用户启用 Facebook 应用程序

我创建了一个可以同时为 http 和 https 用户提供服务的 facebook 应用程序。截至目前,我在服务器上分别为 https 和 https 使用两个不同的文件夹。例如

我个人认为这可能是不必要的冗余[尽管对解决方法一无所知],无论如何我可以在一个文件夹中包含 http 和 https 的代码并将画布 URL 和安全画布 URL 设置为类似