【发布时间】:2015-07-17 15:04:20
【问题描述】:
我正在尝试使用 Graph API 在我的页面中创建页面发布链接。我能够创建帖子,但在发送图片以供在上面使用时遇到了一些问题。
我试图使用我电脑中的图片,但我发现(在 stackoverflow 中)我需要使用已经在互联网上的 URL,或者首先将照片从我的电脑上传到 Facebook,这样我就可以以后再用。
我查看了如何通过 Graph API 从我的计算机上传照片,然后在我的帖子中使用此 URL 来获取图片,但我发现我需要使用 multipart/form-data 来完成。
但我不明白如何使用 multipart/form-data 来执行此操作(上传照片并获取其 URL)。有人知道怎么做吗?
这是我现在使用的 PHP 代码:
<?php
session_start();
require_once( 'Facebook/FacebookHttpable.php' );
require_once( 'Facebook/FacebookCurl.php' );
require_once( 'Facebook/FacebookCurlHttpClient.php' );
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookClientException.php' );
require_once( 'Facebook/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/FacebookPermissionException.php' );
require_once( 'Facebook/FacebookServerException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
require_once( 'Facebook/GraphUser.php' );
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookClientException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\FacebookPermissionException;
use Facebook\FacebookServerException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\GraphUser;
FacebookSession::setDefaultApplication('app','password');
$session = new FacebookSession('token');
$message = 'Test';
$link = "http://www.example.com.br";
$description = 'Description';
$name = 'Name';
$caption = 'Caption';
// $picture = 'file:///C:/Users/VIrgilio/Desktop/Petlove/Facebook%20Ads/Campanhas/Assento/Link/Assento-Novo.png'; //this is where the picture is in my PC
$request = new FacebookRequest(
$session,
'POST',
'/page_id/feed',
array (
'message' => $message,
'link' => $link,
'description' => $description,
'published' => 'false',
'name' => $name,
'caption' => $caption,
// 'picture' => $picture, // the URL from my PC gives me an error, here is where I need to put the URL from the uploaded photo
)
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
?>
谢谢
【问题讨论】:
-
你可以试试 'picture' => '@' 。 $picture,但删除文件:///
标签: php facebook facebook-graph-api file-upload