2010-11-18 4 views
0

내 응용 프로그램 (PHP)에서 Google Spreasheet를 조작하고 싶습니다. 따라서 이렇게하려면 Google 문서 API를 zend gdata librairy와 함께 사용하고 싶습니다.PHP : Zend : 잘못된 범위 및 Google API 스프레드 시트

내가 젠드 샘플 문서에서이 코드를 가지고 있지만 500 오류 얻을 :이 줄을 제거하면

$_SESSION['docsSampleSessionToken'] = Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']); 
$client = Zend_Gdata_AuthSub::getHttpClient($_SESSION['docsSampleSessionToken']); 
$gdClient = new Zend_Gdata_Spreadsheets($client); 
$feed = $gdClient->getSpreadsheetFeed(); 
$currKey = explode('/', $feed->entries[0]->id->text); 
$query = new Zend_Gdata_Spreadsheets_DocumentQuery(); 
$query->setSpreadsheetKey($currKey); 
$feed = $gdClient->getWorksheetFeed($query); 

는, 모두가 잘 작동 :

$feed = $gdClient->getWorksheetFeed($query); 

내 오류입니다 "잘못된 범위 "라고 말하면 인증 범위는 http://spreadsheets.google.com/feeds/spreadsheets/ (샘플과 동일)입니다.

이 오류를 해결하는 방법?

답변

2

셀을 업데이트하려면 Zend librairy 1.11에서 오류가 발생했습니다.

그래서 내 첫 번째 오류 나는이 범위 넣어 :

http://spreadsheets.google.com/feeds/spreadsheets/

을 그리고 좋은 범위는 다음과 같습니다

http://spreadsheets.google.com/feeds/

그리고 업데이트 오류 셀은 젠드가 PUT 요청을 보낼 것입니다 안전하지 않은 범위에서 작업 할 때 https 프로토콜에서 http를 사용하므로 Google은이를 원하지 않습니다. 내 테스트에 대한

(이것은 좋은 해결책은 아니지만 테스트를 위해, 그것은 ^^ 괜찮습니다), 내가 넣어 함수에서 파일 젠드/Gdata는/App.php이 줄을 추가 :

$requestData['url'] = str_replace('https', 'http', $requestData['url']); 

그리고 그것의 작품 :)