SDK默认将会通过$_SERVER['REMOTE_ADDR']获取用户IP,在请求微博API时将用户IP附加到Request Header中。但某些情况下$_SERVER['REMOTE_ADDR']取到的IP并非用户IP,而是一个固定的IP(例如使用SAE的Cron或TaskQueue服务时),此时就有可能会造成该固定IP达到微博API调用频率限额,导致API调用失败。此时可使用本方法设置用户IP,以避免此问题。
public set_remote_ip ( string $ip ) : boolean | ||
$ip | string | 用户IP |
return | boolean | IP为非法IP字符串时,返回false,否则返回true |
/** * 新浪授权 */ protected function sinaOauth($accessToken, $sinaUid, $ip) { require_once __DIR__ . '/oauth/saetv2.ex.class.php'; $oauth = new SaeTClientV2($this->sdkconfig['WB']['WB_AKEY'], $this->sdkconfig['WB']['WB_SKEY'], $accessToken); $oauth->set_remote_ip($ip); $content = $oauth->show_user_by_id($sinaUid); return $content; }