0

freelancer.com APIを使用した人はいますか?requestTokenを取得することすらできません。アンドロイド用に欲しいです。道標ライブラリを使用してみましたが、次のエラーが発生します

oauth.signpost.exception.OAuthNotAuthorizedException:承認に失敗しました(サーバーが401で応答しました)。これは、コンシューマキーが正しくないか、署名が一致しなかった場合に発生する可能性があります。

正しいコンシューマキーを使用しています。同じ方法がTwitterでも正常に機能します。

4

2 に答える 2

0

返信が遅れましたが、機能しましたか?それで、それはツイッターでは機能しますが、フリーランサーでは機能しませんか?私がフリーランサーで見つけた1つのことは、ヘッダーで送信された場合、OAuthパラメーターを受け取らないことです。GETまたはPOSTのいずれかでOAuthパラメーターを指定する必要があります。一方、Twitterでは、これらのパラメーターをヘッダー経由で送信することをお勧めします。

于 2011-05-04T07:29:06.077 に答える
0

Signpost の以前のバージョンは、ヘッダーに OAuth パラメータのみを実装しています。freelanecer.com API は、パラメーターがクエリ文字列にあることを想定しています。Signpost の最新バージョンでは、クエリ文字列に OAuth パラメーターを実装できるようになりました。

サービスビルダーからの関連コードは次のとおりです。

  /**
  * Configures the signature type, choose between header, querystring, etc. Defaults to Header
  *
  * @param scope The OAuth scope
  * @return the {@link ServiceBuilder} instance for method chaining
  */
  public ServiceBuilder signatureType(SignatureType type)
  {
     Preconditions.checkNotNull(type, "Signature type can't be null");
     this.signatureType = type;
    return this;
  }

  Service = new ServiceBuilder()
                    .provider(FreelancerApi.class)
                    .apiKey(consumer)
                    .apiSecret(secret)
                    .callback("oob")
                    .signatureType(SignatureType.QueryString)
                    .build();
于 2011-06-08T17:32:11.803 に答える