5

我正在创建一个新的 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] => 
4

2 回答 2

5

好吧,您收到了 http 400 返回(错误请求),这表明出了问题。也许如果您的请求正确,请求会更快?

这篇文章:facebook api 中的 php cURL 错误 表示您应该删除 'CURLOPT_POST => true' 如果仍然有问题,我还建议添加 'CURLOPT_VERIFYPEER => false'。

于 2012-04-09T21:33:46.170 回答
0

不它不是。 这个答案更详细地讨论了 Facebook Graph API 的预期时间,尽管它的问题诊断不适用于您的问题。

发现瓶颈的最佳选择是网络诊断,例如traceroute,dig和 cURL 的分析功能(如您在此处显示的那样)。如果您在不同的位置有对等点,您还可以尝试从该位置进行分析以查看发生了什么变化。

祝你好运。这是非常热门的信息,但应该足以让您入门。

于 2012-04-08T20:58:19.697 回答