2

Zend_Gdataプラグインを使用してドキュメントを Google ドキュメントにアップロードしようとしています。うまくアップロードされます。

ただし、ドキュメントはデフォルトで非公開になります。どうすれば公開に設定できますか。また、ドキュメント ID とドキュメントへの URL リンクを取得して、他のユーザーがアクセスして閲覧のみできるようにするにはどうすればよいですか?

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client  = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, $service);
$docs    = new Zend_Gdata_Docs($client);
$feed    = $docs->getDocumentListFeed();

$newDocumentEntry = $docs->uploadFile(
    $filename, $name, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI
);

助けていただければ幸いです。

ありがとう

4

1 に答える 1

4

関数の 4 番目のパラメーターとして別の URI を指定する必要がありuploadFile()ます。使用している URI はドキュメントを非公開に送信します。(以下を参照)

からソース コードを確認してくださいZend_Gdata_Docs

class Zend_Gdata_Docs extends Zend_Gdata
{
    const DOCUMENTS_LIST_FEED_URI 
        = 'https://docs.google.com/feeds/documents/private/full';
    // ...

ご覧のとおり、クラスconstはプライベート パスにリンクしています。を使用する代わりに、Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URIpublic を使用する必要があります。ただしGoogle の Documents List Feed APIによると、プライベートのみを受け入れるようです。

可視性パラメーターには、private と public の 2 つの値があります。

注: 現在、Documents List API で利用できる可視性は非公開のみです。詳細については、以下の可視性の値を参照してください。


ちなみに、最終結果は、などの関数を呼び出すことができるはずのZend_Gdata_App_Entryオブジェクトを返す必要があります。$newDocumentEntry$newDocumentEntry->getEditLink()

これを行うそのオブジェクトに他に何が保存されているかを確認したい場合:

Zend_Debug::dump($newDocumentEntry);

幸運を!

于 2011-12-17T09:53:19.790 に答える