Google OpenSocial API проблема о методе Curl - PullRequest
0 голосов
/ 14 июня 2011

Я пытаюсь создать приложение, используя Google Opensocial API.Но когда я делаю POST-запрос со следующими заголовками CURL, я получаю 405 Ошибка метода не разрешена:

CURLOPT_URL : http://www.orkut.com/social/rpc/
CURLOPT_POSTFIELDS : [{"method":"people.get","id":"self","params":{"userId":["@me"],"groupId":"@self","fields":["displayName","currentLocation","thumbnailUrl","gender","name"]}},{"method":"people.get","id":"friends","params":{"userId":["@me"],"groupId":"@friends","fields":["displayName","currentLocation","thumbnailUrl","gender","name"],"count":300}}]
CURLOPT_CUSTOMREQUEST : POST
CURLOPT_RETURNTRANSFER : true
CURLOPT_USERAGENT : osapi 1.0
CURLOPT_FOLLOWLOCATION : 1
CURLOPT_SSL_VERIFYPEER : false
CURLOPT_HEADER : true
CURLINFO_HEADER_OUT : true
CURLOPT_HTTPHEADER : Array
        (
            [0] => Authorization: OAuth oauth_body_hash="A3ZOHT4b3YMOzEfg+2j3v+N302E=", oauth_nonce="6ad533sdfsb9261ssdfsdf29af7d", oauth_version="1.0", oauth_timestamp="1318236734", oauth_consumer_key="www.mydomain.com", oauth_token="1%2FKhAasdfsd8YX2bfsdfsdf6MsdfsfsdfsdfJYyULWUog", oauth_signature_method="HMAC-SHA1", oauth_signature="osdf4pShOsdfsdf88nnpwsdfsdf9g%3D"
            [1] => Content-Type: application/json
            [2] => Content-Length: 0
            [3] => User-Agent: osapi 1.0
        )

Ниже приводится ответ CURL-POST, который я получаю:

["http_code"] =>  int(405)
["data"] => string(12614) 
    "HTTP/1.1 405 Method Not Allowed
    Content-Type: text/html; charset=UTF-8
    Content-Length: 12462
    Date: Tue, 14 Jun 2011 08:07:58 GMT
    Server: GFE/2.0

Я спросил об этой проблеме на форуме Google Codes, и мне сказали убрать следующую строку из запроса CURL, так как мой веб-сайт размещен на hostgator.

CURLOPT_CUSTOMREQUEST : POST

Я пробовал описанную выше вещь, но все равно получаю 405 Метод не разрешеношибка.Пожалуйста, помогите мне в этом вопросе.Нужно ли мне изменить мой код PHP-CURL выше, чтобы отправить запрос POST?Если так, то, пожалуйста, помогите мне ..

1 Ответ

1 голос
/ 14 июня 2011

В спецификации Google Social есть пример, в котором people.get запрашивается с помощью GET, а не через POST.Обычно имейте в виду, что GET - для запроса информации, а POST - для изменения существующей информации.

...