모든 피드 항목을 Google 리더에서 읽음으로 표시하는 스크립트를 작성하려고합니다. API 링크에 4 개의 변수를 게시하는 것만 큼 간단해야합니다. 그러나 400 오류를 다시 얻지 않고 Google에 HTTP POST를 성공적으로 수행 할 수있는 유일한 방법은 다음과 같은 간단한 HTML 양식 POST입니다. PHP cURL을 시도했지만 Google에서 잘못된 클라이언트 요청을 한 것으로 나타나는 400 오류가 발생합니다. (나는 컬 시도 등) HTML 양식을 사용하여 동일한 정보를 제출Google 리더 API - 모두 읽음으로 표시
<form method="post" action="http://www.google.com/reader/api/0/mark-all-as-read">
<input type="hidden" name="s" value="user/10408189040522127442/state/com.google/reading-list" />
<input type="hidden" name="t" value="Your reading list" />
<input type="hidden" name="ts" value="<?php echo time(); ?>" />
<input type="hidden" name="T" value="<?php session_start(); echo $_SESSION['token']; ?>" />
<input type="button" value="Mark All As Read" /></form>
읽을 수 있지만 양식 액션이 외부 사이트로 설정되어 있기 때문에, 당신은 제출시 그것에 리디렉션으로 성공적으로 모든 항목을 표시, 잘 작동 . 이 문제를 해결하기 위해 다음과 같이 AJAX FORM 제출을 시도 했으므로 리디렉션은 없지만 작동하지 않으며 아무 것도 제출되지 않습니다.
$(document).ready(function(){
$("input[type=button]").click(function() {
$.post($('form').attr("action"), $('form').formSerialize());
});
});
누구나 조언을 줄 수 있습니까? 1) 왜 cURL POST가 작동하지 않지만 간단한 HTML FORM POST가 작동합니까? 2) AJAX 제출으로 HTML 양식을 제출 (자동 제출) 할 수없는 이유는 무엇입니까?