[英]How do I authorize a app in Facebook-PHP-SDK
PHP的新手,下载了Facebook-PHP-SDK,我正在尝试运行在网上找到的简单代码,但我一直遇到错误。 我已经对该问题进行了大量研究,在这里也研究了类似的问题,尽管如此,但仍然找不到任何有帮助的方法。 看起来我仍然需要授权我在Facebook Developers中创建的应用程序,但是我不知道该怎么做。
<?php
require_once(__DIR__ . '/vendor/autoload.php');
$fb = new Facebook\Facebook([
'app_id' => '{}',
'app_secret' => '{}',
'persistent_data_handler' => 'memory',
'default_graph_version' => 'v3.3',
]);
$helper = $fb->getCanvasHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (! isset($accessToken)) {
echo 'No OAuth data could be obtained from the signed request. User has not authorized your app yet.';
exit;
}
// Logged in
echo '<h3>Signed Request</h3>';
var_dump($helper->getSignedRequest());
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());
错误信息
No OAuth data could be obtained from the signed request. User has not authorized your app yet.
您没有为SDK提供所需的app_id
和app_secret
因此它无法执行任何操作。 这就是为什么它会给您一个OAUTH错误的原因。 ( fb-docs )
$fb = new Facebook\Facebook([
'app_id' => '{}', // Here
'app_secret' => '{}', // Here
'persistent_data_handler' => 'memory',
'default_graph_version' => 'v3.3',
]);
您需要从您的facebook应用程序配置仪表板上获取该数据。 并插入该对象。
例:
$app_id = "1234";
$app_secret = "foobar";
$fb = new Facebook\Facebook([
'app_id' => '{$app_id}',
'app_secret' => '{$app_secret}',
'default_graph_version' => 'v3.2',
]);
应用程序均在https://developers.facebook.com/上注册和管理。 您是否在那里检查过设置?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.