6

自分でライブラリをインポートしようといろいろいじった後、Eclipse 用の Google プラグインを使用してインポートできることがわかりまし

ただし、Androidで実際にAPIを使用する方法の例を見つけることができないようです.少なくともコンパイル可能なものはありません.これらの例で必要なクラスはEclipseで解決できないようです.クラスは、URL Shortener API の Eclipse 用 Google プラグインによってインポートされるライブラリには存在しません。私が見つけた例に最も近いのはhere です。これは、Android ではなく Google App Engine 用のようで、アクセスできないと思われるクラスを使用しています。

問題は、Android アプリケーションでこの API を使用して URL の短縮バージョンを取得するにはどうすればよいかということです。できれば、OAuth の代わりに API キーを使用して実行したいと考えています。

4

4 に答える 4

4

Google の短い API を機能させるにはキーが必要です。マニフェストでキーを設定しようとしましたが、機能しません。キーは関数ライブラリで設定する必要があります。

Urlshortener.Builder builder = new Urlshortener.Builder (AndroidHttp.newCompatibleTransport(),
            AndroidJsonFactory.getDefaultInstance(), null);
    Urlshortener urlshortener = builder.build();

    com.google.api.services.urlshortener.model.Url url = new com.google.api.services.urlshortener.model.Url();
    url.setLongUrl(longUrl);
    try {
        Urlshortener.Url.Insert insert=urlshortener.url().insert(url);
        insert.setKey("Your API KEY");
        url = insert.execute();
        return url.getId();
    } catch (IOException e) {
        LogUtil.e(TAG, Log.getStackTraceString(e));
        return null;
    }
于 2016-04-01T07:33:16.120 に答える
4
  1. applicationノードのマニフェストに追加します。
 <meta-data
         android:name="com.google.android.urlshortener.API_KEY"
         android:value="{YOUR_API_KEY}"/>
  1. 次のライブラリを追加します。

google-api-client-1.17.0-rc.jar

google-api-client-android-1.17.0-rc.jar

google-api-services-urlshortener-v1-rev22-1.17.0-rc.jar

google-http-client-1.17.0-rc.jar

google-http-client-android-1.17.0-rc.jar

  1. 方法:

       String shorten(String longUrl){
    
       Urlshortener.Builder builder = new Urlshortener.Builder (AndroidHttp.newCompatibleTransport(), AndroidJsonFactory.getDefaultInstance(), null);
       Urlshortener urlshortener = builder.build();
    
        com.google.api.services.urlshortener.model.Url url = new Url();
        url.setLongUrl(longUrl);
        try {
           url = urlshortener.url().insert(url).execute();
            return url.getId();
        } catch (IOException e) {
            return null;
       }
    }
    
于 2013-12-05T17:39:27.767 に答える