Я использую API #unificationengine для отправки сообщения на Facebook.
Подробности, которые я дал при регистрации моего приложения на Facebook:
адрес сайта : HTTP: // локальный: 3000
Адрес электронной почты и другие необходимые данные
В UnificationEngine API я использовал пошаговые инструкции, упомянутые в их документации, следующим образом:
1. Создан пользователь с помощью API ключа и секрета
2. Добавлена связь
3. тестовое соединение
4. Обновить соединение
5. Отправить сообщение
Все 4 дали 200 успешных кодов, но отправка сообщения выдала 403 ошибочную ошибку.
Завиток, который я использую для этого, как показано ниже:
$post_msg = json_encode(
array(
'message' =>
array(
'receivers' =>
array(
array(
'name' => 'Me',
'address' => 'https://graph.facebook.com/v2.5/me/feed',
'Connector' => 'facebook'
),
),
'sender' =>
array('address' => ''),
'subject' => 'Hello',
'parts' =>
array(
array(
'id' => '1',
'contentType' => 'text/plain',
'data' => 'Hi welcome to UE',
'size' => 100,
'type' => 'body',
'sort' => 0
),
),
),
)
);$ch = curl_init('https://apiv2.unificationengine.com/v2/message/send');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_USERPWD,'3f43c37b-a066-4cc4-a3be-33faf72d6a21:2722fc72d-5d347-4a3a-a82b-0c1ss51aafb4');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_msg);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// execute!
$response = curl_exec($ch);
// close the connection, release resources used
curl_close($ch);
// do anything you want with your response
var_dump($response);return ['label' =>$response];
Я пытаюсь понять это. Но безуспешно.
Опять же я хотел бы упомянуть, что я использую это на локальном хосте, может ли это быть причиной запрещенной ошибки? Если это так, то facebook graph api, с которого мы получаем токен доступа, также должен выдавать такую ошибку.
Ранее я разместил это вопрос, и здесь я не нашел правильного решения. Я добавил опции Curl, которые упоминаются в комментарии к моему вопросу, но это ничего не изменило.
Любая помощь будет высоко оценен.
Сообщение об ошибке:
{\ «Статус \»: {\ «facebook \»: {\ «Статус \»: 403, \ «информация \»: \ «Запрещено:
\ «}}, \» URIs \ «: []}
ОБНОВИТЬ
Ниже приведен json, который я получаю, когда запускаю меня / разрешения в Facebook Graph API Explorer:
{
"data": [
{
"permission": "user_birthday",
"status": "granted"},
{
"permission": "user_about_me",
"status": "granted"},
{
"permission": "user_status",
"status": "granted"},
{
"permission": "user_posts",
"status": "granted"},
{
"permission": "email",
"status": "granted"},
{
"permission": "manage_pages",
"status": "granted"},
{
"permission": "publish_actions",
"status": "granted"},
{
"permission": "public_profile",
"status": "granted"}
]
}
Я решил эту проблему:
public function facebookSharing($access_token) {
$app = new UEApp(env('UNIFICATION_APP_KEY'), env('UNIFICATION_APP_SECRATE'));
$user = new UEUser('unification_userkey', 'unification_usersecret');
$connection = $user->add_connection('FACEBOOK', "facebook", $access_token);
$options = array(
"receivers" => array(
array(
"name"=> "Me")
),
"message"=>array(
"subject"=>'testing',
"body"=> 'description',
"image"=> 'use any image url',
"link"=>array(
"uri"=> 'any web site url',
"description"=> "",
"title"=>"Title")
)
);
$uris = $connection->send_message($options);
}
Пожалуйста, используйте ваши ключи как
фейсбук
UNIFICATION_APP_KEY (это ваши ключи объединения)
UNIFICATION_APP_SECRATE (это ваши ключи объединения)
Если это не сработает, пожалуйста, дайте мне знать.
Можете ли вы подтвердить правильность введенного вами имени «Соединитель»?
Пока я пробовал предоставленный вами пример кода, я мог отправить сообщение на Facebook через UE.
Можете ли вы предоставить точное сообщение об ошибке, которое возвращается при выполнении команды?