You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The API request to add a "place" to a drop is broken. In some cases a response is returned that indicates it succeeded.
But after each attempt I am no longer able to get any drops from the given river or bucket. I must first remove the place before the given river/bucket's drops can be viewed again.
I'm trying to use the API to add places to drops as documented:
RESPONSE FROM API:
Fatal error: Uncaught exception 'Exception' with message 'An error occurred: array ( 'message' => 'Drop 149920 already has the place Ruston with coordinates [47.299400, -122.507004]', )' in /opt/firsttosee/swift/api2.php:232 Stack trace: #0 /opt/firsttosee/swift/api2.php(249): API_Client->exec_api_request('/buckets/300/dr...', '{??"longitude":...', 'POST', Array) #1 {main} thrown in /opt/firsttosee/swift/api2.php on line 232
Note that I had already removed the place from the drop in order to restore the bucket. So why did I get the error that it already has this place?
Attempt # 4
Tried one last time with quotes around lon/lat values. I rounded the numbers to avoid the duplication error from Attempt #3.
The API request to add a "place" to a drop is broken. In some cases a response is returned that indicates it succeeded.
But after each attempt I am no longer able to get any drops from the given river or bucket. I must first remove the place before the given river/bucket's drops can be viewed again.
I'm trying to use the API to add places to drops as documented:
https://wiki.ushahidi.com/display/WIKI/SwiftRiver+API+Drop+Resources#SwiftRiverAPIDropResources-post-drops-id-places
Attempt # 1
INPUT TO API:
request_path: /buckets/300/drops/149920/places
request_parameters: { "name":"Tacoma", "type":"point", "coordinates":[ [ -122.5161, 47.302 ] ] }
request_method: POST
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
RESPONSE FROM API:
{"id":283451,"type":null,"longitude":0,"latitude":0,"name":"Tacoma"}
RESULT:
Can no longer retrieve any drops from the bucket. Have to remove the place before I can see the drops again.
request_path: /buckets/300/drops/149920/places/283451
request_parameters:
request_method: DELETE
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
Attempt # 2
Tried again using lon/lat parameters
INPUT TO API:
request_path: /buckets/300/drops/149920/places
request_parameters: { "longitude": -122.5069, "latitude": 47.2994, "type":"point", "name":"Ruston" }
request_method: POST
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
RESPONSE FROM API:
{"id":283452,"type":null,"longitude":-122.5069,"latitude":47.2994,"name":"Ruston"}
RESULT:
Same result. Can no longer retrieve any drops from the bucket. Have to remove the place before I can see the drops again.
request_path: /buckets/300/drops/149920/places/283452
request_parameters:
request_method: DELETE
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
Attempt # 3
Tried again using quotes around the lon/lat values:
INPUT TO API:
request_path: /buckets/300/drops/149920/places
request_parameters: { "longitude": "-122.5069", "latitude": "47.2994", "type":"point", "name":"Ruston" }
request_method: POST
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
RESPONSE FROM API:
Fatal error: Uncaught exception 'Exception' with message 'An error occurred: array ( 'message' => 'Drop 149920 already has the place Ruston with coordinates [47.299400, -122.507004]', )' in /opt/firsttosee/swift/api2.php:232 Stack trace: #0 /opt/firsttosee/swift/api2.php(249): API_Client->exec_api_request('/buckets/300/dr...', '{??"longitude":...', 'POST', Array) #1 {main} thrown in /opt/firsttosee/swift/api2.php on line 232
Note that I had already removed the place from the drop in order to restore the bucket. So why did I get the error that it already has this place?
Attempt # 4
Tried one last time with quotes around lon/lat values. I rounded the numbers to avoid the duplication error from Attempt #3.
INPUT TO API:
request_path: /buckets/300/drops/149920/places
request_parameters: { "longitude": "-122.507", "latitude": "47.299", "type":"point", "name":"Ruston" }
request_method: POST
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
RESPONSE FROM API:
{"id":283453,"type":null,"longitude":-122.507,"latitude":47.299,"name":"Ruston"}
RESULT:
Same problem: I can no longer retrieve any drops from the bucket. Have to remove the place before I can see the drops again.
request_path: /buckets/300/drops/149920/places/283453
request_parameters:
request_method: DELETE
request_headers: Array ( [Content-Type] => application/json [Accept] => application/json )
The text was updated successfully, but these errors were encountered: