Reemplazo de CURL con urlfetch en PHP

Estoy creando una aplicación para el motor de aplicaciones de Google, donde CURL no está permitido. Que yo sepa, urlFetch es la mejor alternativa.

No sé si puedo lograr el mismo resultado con urlFetch, pero realmente lo apreciaría si alguien con más experiencia pudiera ayudarme.

El plan era convertir las siguientes solicitudes de CURL a urlFetch. Si alguien me puede orientar en la dirección correcta, o proponer una mejor alternativa, lo apreciaría enormemente.

public function postCall($endpoint, $post_data, $param1, $param2, $json=1, $headers=false) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $this->options['url'].$endpoint);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

if ($headers && is_array($headers)) {
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}

$post_data['req_token'] = $this->hash($param1, $param2);
curl_setopt($ch, CURLOPT_POST, count($post_data));
if (!$headers) 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
else
    curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data);
$this->debug('POST params: ' . json_encode($post_data));
$result = curl_exec($ch);
if ($result === false) {
    $this->debug('CURL error: '.curl_error($ch));
    return false;
}
$this->debug('HTTP response code' . curl_getinfo($ch, CURLINFO_HTTP_CODE));
$this->debug('POST return ' . $result);

// close connection
curl_close($ch);

if ($json)
    return json_decode(utf8_encode($result), true);
else
    return $result;}

Respuestas a la pregunta(4)

Su respuesta a la pregunta