【问题标题】:How to upload image using access token?如何使用访问令牌上传图片?
【发布时间】:2012-01-25 11:23:30
【问题描述】:

我正在使用访问令牌从 jquery 创建此 url

www.mysite.com/xyz.php?access_token=valid_access_token&id=1

为了上传照片,我在xyz.php使用此代码

$facebook = new Facebook(array(
            'appId' => 'my_app_id',
            'secret' => 'my_app_secret',
        ));

// Get User ID
$user = $facebook->getUser();

 $facebook->setFileUploadSupport(true);
$args = array('message' => 'my_message');
                copy($image, 'tmp/file.jpeg');
                $args['image'] = '@' . realpath('tmp/file.jpeg');
                $data = $facebook->api('me/photos', 'post', $args);
                unlink('tmp/file.jpeg');

但它不起作用。我收到此错误

Uncaught OAuthException: An active access token must be used to query information about the current user.

我创建了一个访问令牌。为什么我会收到此错误? 如何在我的代码中使用 accessToken(在我的 url 中)来上传图片?

【问题讨论】:

    标签: php facebook access-token


    【解决方案1】:

    您需要获取用户的访问令牌才能代表用户执行任何操作。尝试使用以下代码...

    $facebook = new Facebook(array(
      'appId' => 'my_app_id',
      'secret' => 'my_app_secret',
    ));
    
    // Get User ID
    $user = $facebook->getUser();
    
    if (!$user)
    {
        // User is not logged in or hasn't added the application!
    
        $login_url = $facebook->getLoginUrl(array(
            'scope' => 'publish_stream,user_photos,photo_upload',
        ));
    
        die('<script>top.window.location = "' . $login_url . '";</script>');
    }
    
    $facebook->setFileUploadSupport(true);
    $args = array('message' => 'my_message');
                    copy($image, 'tmp/file.jpeg');
                    $args['image'] = '@' . realpath('tmp/file.jpeg');
                    $data = $facebook->api('me/photos', 'post', $args);
                    unlink('tmp/file.jpeg');
    

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 2013-06-24
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 2020-07-12
      • 2014-09-13
      相关资源
      最近更新 更多