Facebook REST API Приложение Секрет - PullRequest
0 голосов
/ 05 июня 2010

Я пытаюсь получить список дней рождения моих друзей, используя следующий код. Я использую метод FQL Facebook, используя старый API REST.

<code><?php 
  $appapikey = '<app api key>';
  $appsecret = '<app secret>';
  $token = 'access_token=<token>';
  $fql = "SELECT uid, first_name, last_name, birthday, sex, proxied_email FROM standard_user_info WHERE uid = <my uid>";

  $fqlqueryuri = 'https://api.facebook.com/method/fql.query?query='.urlencode($fql).'&'.$token.'&application_secret='.$appsecret;
  $fqlquery = htmlentities(file_get_contents($fqlqueryuri));
  echo "<pre>" . $fqlquery . "
"; ?>

Когда я запускаю запрос, я получаю следующую ошибку;

<?xml version="1.0" encoding="UTF-8"?>
<error_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <error_code>15</error_code>
  <error_msg>The method you are calling or the FQL table you are querying cannot be called using a session secret</error_msg>
  <request_args list="true">
    <arg>
      <key>method</key>
      <value>fql.query</value>
    </arg>
    <arg>
      <key>query</key>
      <value>SELECT uid, first_name, last_name, birthday, sex, proxied_email FROM standard_user_info WHERE uid = xxx</value>
    </arg>
    <arg>
      <key>access_token</key>
      <value>xxx</value>
    </arg>
    <arg>
      <key>application_secret</key>
      <value>xxx</value>
    </arg>
  </request_args>
</error_response>

Посмотрев на Facebook более подробное описание ошибки, я наткнулся на этот лайнер; 15 - API_EC_SESSION_SECRET_NOT_ALLOWED - этот вызов метода должен быть подписан секретом приложения (вы, вероятно, вызываете безопасный метод, используя секрет сеанса)

Я думал, что подписал код с секретом приложения. Я работаю в автономном режиме и у меня есть правильные разрешения для этого.

Есть идеи?!

1 Ответ

1 голос
/ 05 июня 2010

Вы напрямую не передаете секрет приложения. Вы должны использовать его, чтобы сгенерировать подпись и отправить , что .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...