1

私はPhonegapを学び、Andorid用にそれを使用して小さなアプリケーションを作成しようとしています。私のアプリケーションは、FourSquareAPIから近くのレストランを引き出す必要があります。

これを行うためのさまざまな方法は何ですか?

FourSqaureのドキュメントを理解できませんでした。OAuthメカニズムを実行する必要があります。PhoneGapアプリケーションでこれを行うにはどうすればよいですか?リダイレクトURIがありません。

誰かがどちらに行くべきか、そしてこれをどのように達成するかを教えてくれると非常に役に立ちますか?

4

2 に答える 2

2

ChildBrowserプラグインを使用してみましたか?(https://github.com/phonegap/phonegap-plugins/tree/master/Android/ChildBrowser)Twitterに対して使用しましたが、認証には機能しているようです。ただし、秘密のOAuthキーを簡単にアクセスできる形式で保存する必要があるという問題があります。

于 2012-06-12T19:42:00.467 に答える
0

今月初めに同じ問題に苦しんでいました。AndroidでカスタムRESTfulサービスを利用するための良い方法を探していました。Scribe( https://github.com/fernandezpablo85/scribe-java )という名前のこのライブラリに出くわしました。それはAndroidで本当にうまく機能します。さらに良いことに、FoursquareOAuthがすでにサポートされています。Scribe + Android+Foursquareで動作することを示すサンプルファイルは次のとおりです。

package org.scribe.examples;

import java.util.Scanner;

import org.scribe.builder.*;
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.oauth.*;

public class FoursquareExample
{
  private static final String PROTECTED_RESOURCE_URL = "http://api.foursquare.com/v1/user";

  public static void main(String[] args)
  {
    OAuthService service = new ServiceBuilder()
                            .provider(FoursquareApi.class)
                            .apiKey("FEGFXJUFANVVDHVSNUAMUKTTXCP1AJQD53E33XKJ44YP1S4I")
                            .apiSecret("AYWKUL5SWPNC0CTQ202QXRUG2NLZYXMRA34ZSDW4AUYBG2RC")
                            .build();
    Scanner in = new Scanner(System.in);

    System.out.println("=== Foursquare's OAuth Workflow ===");
    System.out.println();

    // Obtain the Request Token
    System.out.println("Fetching the Request Token...");
    Token requestToken = service.getRequestToken();
    System.out.println("Got the Request Token!");
    System.out.println();

    System.out.println("Now go and authorize Scribe here:");
    System.out.println(service.getAuthorizationUrl(requestToken));
    System.out.println("And paste the verifier here");
    System.out.print(">>");
    Verifier verifier = new Verifier(in.nextLine());
    System.out.println();

    // Trade the Request Token and Verfier for the Access Token
    System.out.println("Trading the Request Token for an Access Token...");
    Token accessToken = service.getAccessToken(requestToken, verifier);
    System.out.println("Got the Access Token!");
    System.out.println("(if your curious it looks like this: " + accessToken + " )");
    System.out.println();

    // Now let's go and ask for a protected resource!
    System.out.println("Now we're going to access a protected resource...");
    OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
    service.signRequest(accessToken, request);
    Response response = request.send();
    System.out.println("Got it! Lets see what we found...");
    System.out.println();
    System.out.println(response.getBody());

    System.out.println();
    System.out.println("Thats it man! Go and build something awesome with Scribe! :)");
 }

}
于 2012-06-09T16:15:33.823 に答える