你好.我一直负责制作Facebook游戏,但我是Facebook开发的新手,所以我才开始.如果这对人们来说很容易,请提前道歉.
我在浏览网站上看到的所有示例时遇到了麻烦,当我尝试阅读时,我在Facebook文档中一直遇到缺少的页面.我认为这是因为Facebook的PHP客户端库有一个新版本,我发现的一切都是指老客户端.
例如,我在很多例子中看到了这段代码:
require 'facebook.php';
$facebook = new Facebook( array( 'appId' => '(id)', 'secret' => '(secret)' ) );
$facebook_account = $facebook->require_login();
Run Code Online (Sandbox Code Playgroud)
...但是在facebook.php文件中提供的客户端库中没有"require_login()".
据我所知,看起来Facebook最近推出了一些新的开发系统,但我没有看到任何示例代码来处理它.新的库附带了一个"example.php"文件,但它似乎只是为了向其他网站添加"登录Facebook"功能(我假设他们的意思是"Facebook Connect"网站),而不是仅用于在Facebook本身的Canvas页面中运行应用程序.
具体来说,我需要做的是让用户访问Facebook内的应用程序页面,让它打开允许他们授权应用程序的对话框,让它显示在他们的"游戏"页面中,然后让它传递给我相关的有关用户的信息,以便我可以开始创建游戏.但我似乎无法找到任何教程或示例来说明如何使用新库执行此操作.看起来这应该是非常简单的,但我遇到了障碍.
或者我错过了一些关于PHP客户端库的内容?应该require_login()是否适合我,并且我的实现有些问题,比如有错误的客户端库或什么?我昨天从GitHub下载了,所以我很确定我有最新版本的代码,但也许我正在下载错误的"facebook.php"文件......?
以下是旧require_login函数的重写。它完全复制了旧功能。
function facebook_require_login($required_permissions = '')
{
global $facebook; // NOTE GLOBAL FACEBOOK OBJECT, MUST ALREADY BE INSTANTIATED
$user = $facebook->get_loggedin_user();
$has_permissions = true;
if ($required_permissions) {
$facebook->require_frame();
$permissions = array_map('trim', explode(',', $required_permissions));
foreach ($permissions as $permission) {
if (!in_array($permission, $facebook->ext_perms)) {
$has_permissions = false;
break;
}
}
}
if ($user && $has_permissions) return $user;
$facebook->redirect(
$facebook->get_login_url(Facebook::current_url(), $facebook->in_frame(),
$required_permissions));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3775 次 |
| 最近记录: |