При использовании API IOS я вызываю соединение с помощью метода ApigeeDataClient connectEntities. Я передаю тип «пользователи», затем uuid пользователя, затем connectionType «лайки», с типом соединения «songs» и uuid песни.
Пример:
ApigeeClientResponse *response = [_dataClient connectEntities:@"users" connectorID:_apigeeUser.uuid connectionType:@"likes" connecteeType:@"songs" connecteeID:song.uuid];
Когда делаю подключение, пишет успешно, но когда смотрю данные на сервере, то вроде неправильно сохраняет подключение. Например, для песни я вижу:
connecting :likes :/songs/b523a6aa-bb39-11e4-a2bb-35673af856e9/connecting/likes
Похоже, что uuid песни не находится в соединительном пути.
То же самое относится и к соединению, связанному с пользователем. Это uuid пользователя, который, кажется, подключен к тому же пользователю. uuid — это uuid песни, а не пользователя. Когда я вызываю getEntityConnections, например:
ApigeeClientResponse *response = [_dataClient getEntityConnections:@"songs" connectorID:_apigeeUser.uuid connectionType:@"likes" query:nil];
Он возвращает ошибку, говоря: «ожидаемая песня, но получен uuid пользователя.
Сущность c831e1c4-2e6e-11e4-94ce-299efa8c6fd5 не является ожидаемым типом, ожидаемая песня, найденный пользователь"
Заглянув в сам Apigee, в разделе данных я вижу следующий фрагмент:
"connections": {
"likes": "/users/c831e1c4-2e6e-11e4-94ce-299efa8c6fd5/likes"
}
uuid песни отсутствует. Даже когда я пытаюсь обновить JSON непосредственно на сервере, в основном добавляя uuid песни в конец, он говорит, что он сохранен, но удаляет uuid песни.
Даже простое использование метода curl для установления соединения не работает. Например:
curl -X POST http://api.usergrid.com/peterdj/sandbox/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes/c37f1eaa-bfa3-11e4-9141-97b3510c98e6
Когда я делаю этот звонок, я получаю это
{"action":"post",
"application":"0baaf590-2c1b-11e4-9bb5-11cb139f1620",
"params":{
},
"path":"/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes",
"uri":"https://api.usergrid.com/peterdj/sandbox/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes",
"entities":[
{
"uuid":"c37f1eaa-bfa3-11e4-9141-97b3510c98e6",
"type":"song",
"name":"WingSpan",
"created":1425167080842,
"modified":1425167080842,
"bpm":"124",
"code":"WingSpan",
"genre":"Progressive House",
"metadata":{
"connecting":{
"likes":"/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes/c37f1eaa-bfa3-11e4-9141-97b3510c98e6/connecting/likes"
},
"path":"/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes/c37f1eaa-bfa3-11e4-9141-97b3510c98e6"
},
"title":"Wing Span"
}
],
"timestamp":1425246006718,
"duration":78,
"organization":"peterdj",
"applicationName":"sandbox"
}
Обратите внимание, что результирующий путь подключения кажется правильным, когда он возвращается, но когда выполняется еще один завиток GET, например:
curl http://api.usergrid.com/peterdj/sandbox/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d
uuid песни там нет:
{
"action" : "get",
"application" : "0baaf590-2c1b-11e4-9bb5-11cb139f1620",
"params" : { },
"path" : "/users",
"uri" : "https://api.usergrid.com/peterdj/sandbox/users",
"entities" : [ {
"uuid" : "bc2fc82a-bfa3-11e4-a994-b19963f1779d",
"type" : "user",
"name" : "peter",
"created" : 1425167068578,
"modified" : 1425167495412,
"username" : "peterdj",
"email" : "[email protected]",
"activated" : true,
"picture" :"",
"metadata" : {
"path" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d",
"sets" : {
"rolenames" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/roles",
"permissions" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/permissions"
},
"connections" : {
"likes" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes"
},
"collections" : {
"activities" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/activities",
"devices" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/devices",
"feed" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/feed",
"groups" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/groups",
"roles" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/roles",
"following" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/following",
"followers" : "/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/followers"
}
}
} ],
"timestamp" : 1425311662762,
"duration" : 12,
"organization" : "peterdj",
"applicationName" : "sandbox"
}
Это ошибка с соединениями сущностей с Apigee/Usergrid или я делаю что-то не так?
Спасибо
curl http://api.usergrid.com/peterdj/sandbox/users/bc2fc82a-bfa3-11e4-a994-b19963f1779d/likes
после того, как сделаете этот curl POST? - person brandonscript   schedule 01.03.2015/likes
в конце — взгляните на документация по получению подключений. Имо, они тоже довольно сбивают с толку, чтобы обернуть голову :-/ - person brandonscript   schedule 02.03.2015