gpt4 book ai didi

Facebook。 fatal error : Uncaught OAuthException: An active access token must be used to query information about the current user

转载 作者:行者123 更新时间:2023-12-02 22:15:33 31 4
gpt4 key购买 nike

我的应用程序在 facebook 上的管理员帐户我的应用程序正常工作,但使用其他帐户我收到错误: fatal error :未捕获的 OAuthException:必须使用事件访问 token 来查询有关当前用户的信息。我之前在使用其他应用程序时遇到过这个问题(在用户的墙上发布文本),但在我添加后修复了$user = $facebook->getUser(); 这里出了什么问题?我已经添加了 offline_access 权限...如果可以的话请帮助我,非常感谢。

<?php
require_once('images/Facebook.php');

$facebook = new Facebook(array(
'appId' => '456080124457246',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
$user_profile = $facebook->api('/me','GET');
$accessToken = $facebook->getAccessToken();

# Get User ID
$user = $facebook->getUser();
$facebook->setAccessToken($accessToken);
$facebook->api(456080124457246);


if ($user) {
try {

# Photo Caption
$photoCaption = $user_profile['name'] . ' patarimų plaukams sužinojo čia http://goo.gl/otwhf';

# Absolute Path to your image.
$imageUrl = 'http://padekime.wu.lt/plaukai/images/PlaukaiNeuzvedus.jpg'; // Example URL

# Post Data for Photos API
$post_data = array(
'message' => $photoCaption,
'url' => $imageUrl

);

$apiResponse = $facebook->api('/me/photos', 'POST', $post_data);

} catch (FacebookApiException $e) {
error_log($e);
}
} else {
$loginUrl = $facebook->getLoginUrl( array(
'scope' => 'publish_stream,photo_upload'
));
echo("<script>top.location.href = '" . $loginUrl . "';</script>");
}
?>

最佳答案

在这种情况下,它甚至没有到达您的 $facebook->getUser() 调用——它一到达这一行就抛出异常:

$user_profile = $facebook->api('/me','GET');

$facebook->api() 使用起来有点棘手,因为如果它不知道“/me”是谁,它会立即抛出异常……即使您稍后尝试修复它。

我认为,诀窍是将整个内容包装在一个 try...catch block 中。像这样:

<?php

require_once('images/facebook.php');

$facebook = new Facebook(array(
'appId' => '456080124457246',
'secret' => 'xxxxx',
));

try {
$user_profile = $facebook->api('/me','GET');
# Get User ID
$user = $facebook->getUser();

if ($user) {
try {
# Photo Caption
$photoCaption = $user_profile['name'] . ' patarimų plaukams sužinojo čia http://goo.gl/otwhf';

# Absolute Path to your image.
$imageUrl = 'http://padekime.wu.lt/plaukai/images/PlaukaiNeuzvedus.jpg'; // Example URL

# Post Data for Photos API
$post_data = array(
'message' => $photoCaption,
'url' => $imageUrl

);

$apiResponse = $facebook->api('/me/photos', 'POST', $post_data);

} catch (FacebookApiException $e) {
error_log($e);
}
} else {
$loginUrl = $facebook->getLoginUrl( array(
'scope' => 'publish_stream,photo_upload'
));
echo("<script>top.location.href = '" . $loginUrl . "';</script>");
}

} catch (Exception $e) {
$loginUrl = $facebook->getLoginUrl( array(
'scope' => 'publish_stream,photo_upload'
));
echo("<script>top.location.href = '" . $loginUrl . "';</script>");
}

?>

这会立即将用户重定向到登录 url,然后返回所有内容。您不必使用此设置设置 accessToken。

这实际上可能会不必要地重复某些功能,但希望它是一个开始。

顺便说一下,它的值(value)the offline_access permission is being phased out.

关于Facebook。 fatal error : Uncaught OAuthException: An active access token must be used to query information about the current user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525731/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com