Facebook的照片上传 - 一个活跃的访问令牌,必须使用查询有关当前用户的信息 [英] Facebook photo upload - An active access token must be used to query information about the current user

查看:166
本文介绍了Facebook的照片上传 - 一个活跃的访问令牌,必须使用查询有关当前用户的信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个问题,我的code,IAM试图上传到用户墙上的图像,但它给我以下错误:

I have this problem with my code, iam trying to upload an image to a users wall, but it give me following error:

致命错误:未捕获OAuthException:活动的访问令牌,必须使用查询有关当前用户的信息。抛出/var/www/parkourjams.dk/emilaagaard/customers/fbgen/core/facebook/base_facebook.php线1238

Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in /var/www/parkourjams.dk/emilaagaard/customers/fbgen/core/facebook/base_facebook.php on line 1238

我的code是:

<?php
session_start();
require 'facebook/facebook.php';
$app_id = "438648619527874";
$app_secret = "HIDDEN";
$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' => $app_secret,
  'fileUpload' => true,
  'cookie' => true
));

$post_login_url = "http://emilaagaard.dk/customers/fbgen/core/test.php";
$code = $_REQUEST["code"];
if (empty($code)) {
    $dialog_url= "http://www.facebook.com/dialog/oauth?"
       . "client_id=" .  $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       .  "&scope=publish_stream";
      echo("<script>top.location.href='" . $dialog_url 
      . "'</script>");
} else {
    $token_url="https://graph.facebook.com/oauth/access_token?"
       . "client_id=" . $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       . "&client_secret=" . $app_secret
       . "&code=" . $code;

       // curl
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, $token_url);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
       $response = curl_exec($ch); 
       curl_close($ch);

      $params = null;
      parse_str($response, $params);
      $access_token = $params['access_token'];
      echo "Token: " . $access_token . "<br /><br />";

    $graph_url= "https://graph.facebook.com/me/photos?"
        . "access_token=" .$access_token;

    // Post it!
    $user = $facebook->getUser();

    $args = array(
      'message' => 'Photo Caption', 
      'image' => '@'.realpath("ac.png")
    );

    $user = $facebook->getUser();
    $user_profile = $facebook->api('/me');

    if ($user) {
        print_r($user);
        echo "Username: " . $user_profile['username'];
        try {
            // We have a valid FB session, so we can use 'me'
            $data = $facebook->api('/me/photos', 'post', $args);
            echo $data;
        } catch (FacebookApiException $e) {
            print $e;
        }
    } else {
        echo "Dead user";
        $loginUrl = $facebook->getLoginUrl();
        print ', try <a href="' . $loginUrl . '">login</a></script>';
    }

    echo '</body></html>';
}
?>

我真的希望有人在那里可以帮助我,IAM累了,有可能是code-蒙蔽我自己的派对结束后熬夜来完成这一点。

I really hope for someone out there can help me, iam tired and have probably code-blinded my self for staying up all night after a party to finish this.

谢谢!

推荐答案

如果您在本地服务器上测试它

if you are testing it on local server

插入

curl_setopt($ CH,CURLOPT_SSL_VERIFYPEER,FALSE);

curl_setopt($ CH,CURLOPT_RETURNTRANSFER,1);

插入


Facebook的:: $ CURL_OPTS [CURLOPT_SSL_VERIFYPEER] = FALSE;

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;

$ facebook-> setAccessToken($的access_token);

$facebook->setAccessToken($access_token);

$ USER = $ facebook->的getUser();

这篇关于Facebook的照片上传 - 一个活跃的访问令牌,必须使用查询有关当前用户的信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆