2016-08-26 2 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을 입력하고 두 가지 방법을 시도했습니다. WordPress 쿠키 인증외부 클라이언트 : 서명 인증하지만 응답은 동일합니다.

나는 쿠키를 사용하고있다 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은 다음과 같이 보일 것을

관련 문제