1

我正在实施一个使用OAuth的签名服务。对于这项服务,我获得了一组永不过期的密钥,我可以使用GET调用它而不会出现任何问题。现在我需要使用我在他们的测试套件中测试过的JSON向服务器发送一个POST请求,该套件在那里工作。我正在粘贴函数(这是类的一部分):

public function updatedoc($docid,$documentbody){
    $url=$this->api_url."/api/v1/update/".$docid;
    try {
        $oauth = new OAuth($this->oauth_consumer_key,$this->oauth_signature,OAUTH_SIG_METHOD_PLAINTEXT,OAUTH_AUTH_TYPE_AUTHORIZATION);
        $oauth->enableDebug();
        $oauth->setAuthType(OAUTH_AUTH_TYPE_FORM);
        $oauth->setToken($this->oauth_token,$this->oauth_token_secret);
        echo $OA_header = $oauth->getRequestHeader("POST", $url);
        $oauth->setAuthType(OAUTH_AUTH_TYPE_FORM);
        $oauth->fetch($url,"json=".rawurlencode(json_encode($documentbody)), OAUTH_HTTP_METHOD_POST, array('Authorization'=>$OA_header));
        echo $fileinfo = $oauth->getLastResponse();
    }
    catch(OAuthException $E) {
        $fileinfo="false";print_r($E);
    }
    return $fileinfo;
}

我知道 JSON 不正确,但是当我将它发布到他们的测试套件中时,它就可以了。我在这里想什么错了吗?

4

0 回答 0