助け、私はこれを前にしたことはありません。私はとても混乱しています。 APIウェブスクリプトからデータを取得してエコーするには、ユーザーのログインが必要です。認証ログインユーザとパスワードでPHPを使用してデータAPI Webスクリプトを取得する方法は?
ここhttp://[my_url]/alfresco/s/api/workflow-instances
は、APIのWebスクリプトからのデータであるように、リンクが見えます:
{ "data": [{
"id": "activiti$162149",
"url": "api\/workflow-instances\/activiti$162149",
"name": "activiti$cwfpm4",
"title": "004 SO Broadcast",
"description": "Gate 4 dari Sistem Manajemen Dokumentasi Proyek",
"isActive": true,
"startDate": "2017-01-11T19:31:07.000+07:00",
"priority": 2,
"message": "P18M0002 - Project Management Workflow",
"endDate": null,
"dueDate": null,
"context": "workspace:\/\/SpacesStore\/fe2896bc-adfe-48f7-b990-9308e327ff7e",
"package": "workspace:\/\/SpacesStore\/ab114d0a-f370-4e20-92ee-f22c3e09d87f",
"initiator":
{
"userName": "U_MAS",
"firstName": "U_MAS",
"lastName": ""
},
"definitionUrl": "api\/workflow-definitions\/activiti$cwfpm4:70:161630"}
]}
私は次のことを試してみた:
$json_string = file_get_contents("[my_url]/alfresco/s/api/workflow-instances?alf_ticket=''");
$parsed_json = json_decode($json_string);
ここではJavaを使用してチケットautenticationです:
public String generateTicketSource() throws JSONException {
String alfrescoTiccketURL = alfrescoUrl + "/alfresco"+"/service/api/login?u="+userName+ "&pw="+password;
String ticketURLResponse = invokeWebScriptgetRequest(alfrescoTiccketURL);
return ticketURLResponse;
}
public static String invokeWebScriptgetRequest(String url) {
String ticket = null;
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(url);
String response = null;
try {
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
byte[] responseBody = method.getResponseBody();
response = new String(responseBody);
JSONObject jsonObject = new JSONObject(response);
ticket = jsonObject.getJSONObject("data").getString("ticket");
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
} finally {
method.releaseConnection();
}
return ticket;
}
Javaを
チケット変数は、私はその上のさっぱりだが
link -> [url]?alf_ticket=tiket (on file_get_contents)
を次の認証ログインのために使用しますが、私はAPIのWebスクリプトからデータをエコーします。
が回答されている質問にvandalizeしないでください。このサイトの目的は他人を助けることです。それがあなたのために解決されたからといって、その質問が役に立たないというわけではありません。質問が一人にしか役に立たない場合、それは一般にここに属しません。 –