Beispiel #1
0
     * @param unknown $callback        	
     * @return Ambigous <WP_Error, multitype:, object, mixed, unknown>|WP_Error|mixed
     */
    function tb_oauth($code, $key, $secret_key, $user_ID, $callback)
    {
        $args = array('client_id' => $key, 'client_secret' => $secret_key, 'grant_type' => 'authorization_code', 'code' => $code, 'redirect_uri' => $callback);
        $token = wp_remote_post('https://oauth.taobao.com/token', array('body' => $args));
        // 获取令牌
        if (is_wp_error($token)) {
            return $token;
        }
        // 网络错误
        $token = json_decode(wp_remote_retrieve_body($token));
        // 解析返回数据
        if (isset($token->error)) {
            return new WP_Error($token->error, $token->error_description);
        }
        // 淘宝返回错误
        $token->taobao_user_nick = urldecode($token->taobao_user_nick);
        // 昵称可能是中文,需要解码
        update_user_meta($user_ID, 'yim', urldecode($token->taobao_user_nick));
        // 把雅虎通修改为旺旺号
        update_user_meta($user_ID, 'tb_token', $token->access_token);
        // 授权令牌写入联系人信息
        update_user_meta($user_ID, 'token_expires', date('Y/n/j H:i:s', time() + $token->expires_in));
        // 令牌过期时间写入联系人信息
        return $token;
    }
}
IdeaRateTaobao::init();
// 初始化评价类