1

我在 facebook 页面内做一个 Canvas 应用程序。

我非常简单的问题是:使用最新的 facebook SDK(今天刚刚下载),如果用户尚未授予您的应用程序的访问权限,SDK 中的 facebook 类会自动确定并尝试获得授权吗?

我可以通过以下方式手动获取我的应用程序的身份验证:

https://graph.facebook.com/oauth/authorize?client_id=<myClientID>&redirect_uri=<myRedirectURL>&type=user_agent&display=page&scope=publish_stream,%20user_about_me,%20user_likes,%20email

这一切都很好......但是当我尝试执行example.php在SDK中所做的事情时,它返回一个错误:

致命错误:未捕获的 OAuthException:无效的 OAuth 访问令牌签名。在第 1107 行的 /public_html/bridge/base_facebook.php 中抛出

因此我的问题是:我应该获得有效的 OAuth 访问令牌,还是我设置 facebook PHP SDK 错误?

这是我生成错误的完整 PHP 代码:

<?php
require 'facebook.php';

$facebook = new Facebook(array(
'app_id' => '<my app id>',
'app_secret' => '<my app secret>',
));

$user = $facebook->getUser();

$jared = $facebook->api('/jaredmark');

if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

此代码本质上是示例的直接复制/粘贴,并进行了一些小的编辑。

4

1 回答 1

0

PHP SDK 似乎不会显示身份验证弹出窗口,而无需您通过重定向到该特定页面手动使其这样做。

于 2012-04-06T21:03:14.733 回答