繁体   English   中英

如何在Facebook-PHP-SDK中授权应用

[英]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_idapp_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM