0

近い将来、GoogleドライブAPIに置き換えられる可能性があることを考慮して、GoogleドキュメントリストAPI用のAndroidクライアントアプリを作成したいと思います。そのため、google-api-java-clientを使用して認証を実装しました。これにより、必要に応じて新しいAPIへの移行が容易になると思われます。

現在、ユーザーの連絡先とドキュメントを共有できるようにするために、Googleが提供するshared-sample-docsプロジェクトにあるDocsClient.javaクラスを拡張しようとしています。

@yanivinbarによって書かれた次の紹介よりもこの問題に関するより良い情報は見つかりませんでした:http://javadoc.google-api-java-client.googlecode.com/hg/1.4.1-beta/com/google/api/client /googleapis/xml/atom/package-summary.html

GoogleドキュメントリストAPIドキュメントから、ACLが他のユーザーに特定のドキュメントへのアクセスを許可するために使用されていることがわかりました。ただし、このトランザクションまたは他の一般的なAPI関連のトランザクションを実現するためにどのメソッドを実装する必要があるかは私にはわかりません。

4

1 に答える 1

0

その通りです。ドキュメント エントリに ACL エントリを追加する必要があります。以下のようなメソッドを持つことができます:

public void shareFile(DocumentListEntry documentListEntry,
        AclScope.Type type, String value, String role)
        throws MalformedURLException, IOException, ServiceException {

    // Instantiate a AclEntry object to update sharing permissions.
    AclEntry acl = new AclEntry();

    // Set the ACL scope.
    acl.setScope(new AclScope(type, value));

    // Set the ACL role.
    acl.setRole(new AclRole(role));

    // Insert the new role into the ACL feed.
    service.insert(new URL(documentListEntry.getAclFeedLink().getHref()), acl);             
}

ここでserviceは com.google.gdata.client.docs.DocsService のオブジェクトです。また、ドキュメントにさまざまな共有タイプ役割を指定できます。

上記のメソッドの可能な呼び出しは次のとおりです。

shareFile(entryObj,AclScope.Type.USER,"your email id",AclRole.OWNER);
shareFile(entryObj,AclScope.Type.DOMAIN,"domain name",AclRole.READER);
于 2012-06-02T11:17:48.960 に答える