6

我使用 2.0 版的 Contacts API 和 Gdata 库来导入客户的 gmail 信息。此版本不再受支持,我尝试迁移到 V3,但我看到 V3 不支持 Gdata,我花了几天时间尝试修改当前代码以使用 javascript 的“Contacts API 版本 3.0”。

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Gmail Login</title>
        <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
        <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    </head>
    <body style="margin:0;padding:0;">
        <img src="/images/templates.png" style="display:none;"/>
        <script type="text/javascript">
            google.load("gdata", "2.s");
            google.setOnLoadCallback(function (){
                if(window.location.hash=="") {
                    if(!checkLogin()){
                        logMeIn();
                    } else {
                        var feedUrl = "https://www.google.com/m8/feeds/contacts/default/full";
                        query = new google.gdata.contacts.ContactQuery(feedUrl);
                        query.setMaxResults(5000);
                        myService = new google.gdata.contacts.ContactsService('exampleCo-exampleApp-1.0');
                        myService.getContactFeed(query, function(result) {
                                document.cookie="g314-scope-0=";
                                    window.opener.parseGmailContacts(result.feed.entry);
                            close();
                            }, function(e){
                                alert(e.cause ? e.cause.statusText : e.message);
                        });
                    }
                }
            });
            function logMeIn() {
                scope = "https://www.google.com/m8/feeds";
                var token = google.accounts.user.login(scope);
            }
            function logMeOut() {
                google.accounts.user.logout();
            }
            function checkLogin(){
                scope = "https://www.google.com/m8/feeds/";
                var token = google.accounts.user.checkLogin(scope);
                return token;
            }
        </script>
    </body>
    </html>

Google Contacts API 3.0 版是否支持 javascript 客户端或 gdata 库?

4

1 回答 1

8
var authParams = gapi.auth.getToken() // from Google oAuth

authParams.alt = 'json';

$.ajax({
  url: 'https://www.google.com/m8/feeds/contacts/default/full',
  dataType: 'jsonp',
  data: authParams,
  success: function(data) { console.log(data); }
});

基本上只需将其插入 google api javascript 库中提供的 authSample.html -- https://code.google.com/p/google-api-javascript-client/

于 2012-09-08T23:04:43.260 回答