我正在创建一个新的Facebook应用程序并附加了一些操作,例如Spotify上的“收听xxx”。
麻烦的是这个电话需要大约6-7秒,这是相当长的一段时间。我的代码下面是curl_getinfo的结果。这应该是这么慢吗?
$attachment = array(
'access_token' => $access_token,
'album' => 'sergeant peppers',
);
$opts = array(
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT => 'facebook-php-3.1',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $attachment,
CURLOPT_URL => 'https://graph.facebook.com/me/APPNAME:listening'
);
$ch = curl_init();
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
curl_getinfo:
的结果[url] => https://graph.facebook.com/me/APPNAME:listening
[content_type] => text/javascript; charset=UTF-8
[http_code] => 400
[header_size] => 557
[request_size] => 238
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 6.002449
[namelookup_time] => 0.024892
[connect_time] => 0.179322
[pretransfer_time] => 0.77444
[size_upload] => 362
[size_download] => 212
[speed_download] => 35
[speed_upload] => 60
[download_content_length] => 212
[upload_content_length] => 362
[starttransfer_time] => 1.775707
[redirect_time] => 0
[certinfo] => Array
(
)
[redirect_url] =>
答案 0 :(得分:5)
好吧,你得到了一个http 400返回(错误的请求),这表明出了问题。也许如果你的请求正确,请求会更快?
这篇文章:php cURL error in facebook api 表示您应该删除'CURLOPT_POST =>真正' 我还建议添加'CURLOPT_VERIFYPEER =>假的'如果你还有问题。
答案 1 :(得分:0)
不,它不是。 This answer更详细地讨论了Facebook Graph API的预期时间,但其问题诊断不适用于您的问题。
发现瓶颈的最佳选择是网络诊断,例如traceroute
,dig
以及cURL的分析功能(正如您在此处所示)。如果您在不同位置拥有对等方,则还可以尝试从该位置进行分析以查看更改。
祝你好运。这是非常热门的信息,但它应该足以帮助您入门。