最近发现了一个可以在不用链接VPN的情况下,本地debug facebook api的方法。
适用范围:
此方法适用于当本地facebook php sdk访问不到facebook api的情况。如果你是使用facebook javascript SDK发开的话,只需要把浏览器翻墙就好了,详情见这里。
实例:
以FB-member plugin为例子说明相应的代码改动。
//如果是demo2上运行的话,就为facebook php sdk的CURL options加上代理 if ($_SERVER['HTTP_HOST'] == 'demo2.mixmedia.com') { BaseFacebook::$CURL_OPTS[CURLOPT_PROXY] = '192.168.33.9:8888'; BaseFacebook::$CURL_OPTS[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; BaseFacebook::$CURL_OPTS[CURLOPT_HTTPPROXYTUNNEL] = 1; } $this->fb = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, // 'sharedSession' => true, ));
在FB-member plugin中,我们判断如果是server是demo2.mixmedia.com的话,我们就为facebook php sdk的curl加上代理。通过这个修改就能使本来不能访问facebook php sdk代码能够正常访问facebook了。
原理:
其实facebook php sdk是通过curl这扩展访问facebook api的,而curl支持proxy,所以只要我们为curl+上代理的配置,就可以像浏览器翻墙一样,把curl也翻墙了。
以后开发fb项目可以轻松不少!!!