2011-02-13 6 views
1

Google 문서 도구 뷰어를 사용하려고합니다. 그것은 PPT를 위해 잘 작동하는 것처럼 보입니다. 예,이 작품 :Google 문서 도구보기 - URL 인코딩?

http://docs.google.com/viewer?url=http://www.microsoft.com/presspass/download/press/2008/02-01yahoo.ppt

를 내가 보안을 위해 비공개로 업로드 된 파일이 내 응용 프로그램에서. 이것은 Google 문서 도구를 손상시키는 것으로 보입니다. 아니면 내가 잘못 인코딩 한 것일 수 있습니다.

내가 구글 문서 도구 뷰어로 보낸다 URL은 그래서 (샘플 URL)과 같다 :

구글 문서를 나누기

https://s3.amazonaws.com/dev/1/attachments/243/1/original/02-01yahoo.ppt?AWSAccessKeyId=17VVCSSS3H6Y3129H3G2&Expires=1294131584&Signature=3141havYNS7JCpsTLE6Ppo3yXkc%3D

, 그것을 걸릴 수 있습니다. 이것을 다르게 인코딩해야합니까?

감사합니다.

+0

하나는, 사람이 서명 S3 URL을 볼 수있는 방법을 찾았어요 것

? '% 26'을''% 26'로 인코딩하면 "접근이 거부되었습니다"... –

답변

0

당신은 적어도 앰퍼샌드 (&)은 URL 인코딩하는 기능이 있어야 사용하는 어떤 언어에서 %26

로 인코딩해야합니다. PHP에서는 urlencode()입니다. 자바 스크립트에서 당신이 사용하고자하는 것입니다 encodeURIComponent()

0

수 없습니다. Google 서버에서 문서를보고 렌더링 할 수 있도록 문서에 공개적으로 액세스 할 수 있어야합니다. 게시 한 URL을 보려고하면 "액세스가 거부되었습니다."라는 메시지가 나타납니다.

/Users/you/Desktop/mypowerpoint.ppt에서 컴퓨터의 파워 포인트를 보려고한다고 상상해보십시오. 공개적으로 액세스 할 수있는 파일이 아니기 때문에 누구나 Google 서버를 볼 수는 없을 것입니다. 액세스 제한 페이지로 갈 수없는 것처럼 Google은 http://docs.google.com/viewer?url=file:///Users/you/Desktop/mypowerpoint.ppt에 액세스 할 수 없습니다.

그러나 제공된 URL에 액세스 키가 있습니다 (이 URL은 "샘플 URL"의 일부 임). 액세스 키를 가진 사람이라면 누구나 볼 수 있으며 작동해야하며 @Mike가 맞습니다 - Amazon의 URL 매개 변수와 Google 문서 도구 뷰어의 매개 변수를 혼동하지 않도록 URL 인코딩해야합니다. 이 경우, 당신은 루비 온 레일즈, 질문의 제안 당신의 역사와 함께 작업하는 경우, 당신은 당신이 발생하는 순간 URL에서 파일을 다운로드 할 수 있습니다 경우

<%=u "http://www.yoururl.com/?someparameter=true&file=myfile.ppt" %> 
+0

처음에는 그렇게 생각 했었지만, OP는 우리에게 효과가 없다고 생각했습니다. : ( – Shaz

+0

잠깐 끝에 마지막 비트 하나가 추가되었습니다 : P –

0

그럼 당신이 할 수있는 사용할 수 있습니다 s3 PHP 라이브러리. 당신이 할 일은 구글 URL + 인코딩 된 (인스턴트 생성 된 파일)을 넣어하는 것입니다.

링크가 만료되지 않으면 Google보기에서 읽을 수 있습니다. 그것은

$generated_file = $obj->gs_prepareS3URL($file); 
$encoded_url = rawurlencode($generated_file); 
$google_docs = "http://docs.google.com/viewer?url="; 
redirect($google_docs.$encoded_url);