0

Google Opensocial API を使用してアプリケーションを構築しようとしています。しかし、次の CURL ヘッダーを使用して POST 要求を行うと、405 Method not allowed エラーが発生します。

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 リクエストから次の行を削除するように言われました。

CURLOPT_CUSTOMREQUEST : POST

上記のことを試しましたが、それでも 405 Method not allowed エラーが発生します。この問題についてさらに助けてください。POST リクエストを送信するには、上記の PHP-CURL コードを変更する必要がありますか? もしそうなら、私を助けてください..

4

1 に答える 1

1

Google Socialの仕様には、 people.getPOST ではなく GET でリクエストする例があります。通常、GETは情報を要求するためのものでPOSTあり、既存の情報を変更するためのものであることに注意してください。

于 2011-06-14T10:11:31.047 に答える