的access_token - 脚本上传风扇页相册照片(access_token - Script

2019-09-17 19:48发布

我正在开发一个应用程序在我的页面选项卡包含。 在这个程序中,用户会采取与你的摄像头的图片,图片将在我的粉丝专页发送到especific专辑。

我在这里找到了一个脚本:和他的工作非常好,但我有一个问题,在脚本中使用的用户的access_token上传的图片,不要的必要要求所有用户的权限,上传的图片,因为脚本中使用我的管理员用户发送到网页。

最大的问题是:2个小时之后,用户访问令牌到期时没有登录我的管理员用户权限offline_access已经停产了,我不知道我的脚本是如何工作的。

我需要所有的用户可以使用该系统上传照片,谁知道我怎么能工作呢?

这是在PHP脚本:

`
require_once 'library/facebook.php';

$facebook = new Facebook(array(
    'appId'  => '<appid>',
    'secret' => '<appsecret>',
    'fileUpload' => true
));
$access_token = 'access_token';
$params = array('access_token' => $access_token);
$fanpage = 'page_id';
$album_id ='album_id';
$accounts = $facebook->api('/ADMIN_ACCOUNT/accounts', 'GET', $params);

foreach($accounts['data'] as $account) {
    if( $account['id'] == $fanpage || $account['name'] == $fanpage ){
        $fanpage_token = $account['access_token'];
    }
}

$valid_files = array('image/jpeg', 'image/png', 'image/gif');
$img = realpath("image_path");

$args = array(
    'message' => 'message to write in legend',
    'image' => '@' . $img,
    'aid' => $album_id,
    'no_story' => 1,
    'access_token' => $fanpage_token
);

$photo = $facebook->api($album_id . '/photos', 'post', $args);

if( is_array( $photo ) && !empty( $photo['id'] ) ){
    echo '<p><a target="_blank" href="http://www.facebook.com/photo.php?fbid='.$photo['id'].'">Click here to watch this photo on Facebook.</a></p>';
}`

Answer 1:

您将需要通过敲击端点请求长期访问令牌:

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

采取下列文件一看情形4: http://developers.facebook.com/roadmap/offline-access-removal/



Answer 2:

如果您使用的脚本张贴到扇页的专辑,那么你应该得到一个页面访问令牌-他们不会过期。

详情请看这里: https://developers.facebook.com/docs/authentication/pages/



文章来源: access_token - Script to upload photo in fan page album