2016-08-26 23 views
2

私はthis github tutorialの後にすべてを開始しました。GETすべてのエントリとPOSTのデータをフォームに正常に送信しました。 その後、私はGET呼び出しで検索フィルタを追加したいと考えていました。多くの研究とさまざまなアプローチを試した結果、私はいつも得ることになる。重力フォームAPI許可が拒否されました

{ 
status: 401, 
response: "Permission denied" 
} 

私のJSONレスポンスこの後、私は検索を実装しましたが、うまくいきませんでした。https://www.stevenhenty.com/gravity-forms-api/#filter_entries
PHPの一部の人に相談すると、あなたの電話が正しいという許可の問題です。だから私はhereに行き、両方の方法を試しましたワードプレスクッキー認証外部クライアント:署名認証しかし、応答は同じです。

私はCookieを使用していますNSString *string = [NSString stringWithFormat:@"%@%@?_gf_json_nonce=%@",BaseURLString,route,[[NSUUID UUID] UUIDString]];検索後に_gf_json_nonce私はそれが電話のUDIDになるので、私はそれを使用しています。
他の署名を使用すると、私はNSString *string = [NSString stringWithFormat:@"%@%@?api_key=%@&signature=%@&expires=%@",BaseURLString,route,api_key,signature,expires];と同じ結果になります。
は、だから、私はどのようにコールが作業を開始できるように認証取得するには、この

NSDictionary *params = @{@"key": @"2", 
          @"value": @"[email protected]", 
          @"operator": @"contains"}; 

    NSMutableDictionary *modify = [NSMutableDictionary new]; 
    [modify setObject:params forKey:@"field_filters"]; 


    [manager GET:stringURL parameters:modify progress:nil success:^(NSURLSessionTask *task, id responseObject) { 

ので、任意のアイデアをやっている検索フィルタと、このコールのいずれかを使用する場合。

更新
1:私もthisを試しましたが、動作しませんでした。私もそれにコメントしました。

+0

すべてのエントリを取得するために、署名を使用してGETリクエストが成功したサンプルを投稿してください。また、同じエンドポイントへのリクエストの失敗を、検索パラメータとともに示します。 –

+0

@StevenHenty更新された質問を参照してください。 –

答えて

1

あなたは、このようなURLエンコードされたJSON文字列に検索のparam設定されていることを確認してください:

{ 
    "field_filters": [ 
    { 
     "key": "2", 
     "value": "@gmail.com", 
     "operator": "contains" 
    } 
    ] 
} 

http://yourdomain/gravityformsapi/forms/3/entries/?api_key=[snip]&signature=[snip]%3D&expires=[snip]&search={%22field_filters%22:%20[{%22key%22:%20%222%22,%20%22value%22%20:%20%@gmailcom%22,%20%22operator%22%20:%20%22contains%22}]} 

ので、読み少し簡単には、検索paramは次のようになりますが

関連する問題