-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Beschreibung der Jobs #47
Comments
Doch die gibt es, wenn du jobdetail abfragst |
Danke gerade schon gemekert das ich noch 2 urls abfragen muss :D |
Ich habe nur ein Problem bei den Logos |
Das logo hat eine eigene hashid, die findest du wenn du die jobdetail Abfrage gemacht hast: "arbeitgeberLogoHashId" |
rest.arbeitsagentur.de/jobboerse/jobsuche-service/ed/v1/arbeitgeberlogo/fVv0WF0Fk806NPJ8tnbeWCzQhypEHyAOGFkyRnC2TW4= also das fett markierte ist die Logohashid |
hier schau mal wie ich es gemacht habe: https://github.com/NKDesign30/BAFA-API/blob/main/job-importer.php function job_importer_get_company_logo($access_token, $hashID) if ($logo_data === FALSE) { // Speichern des Logos im Upload-Verzeichnis $file_path = $logo_dir . '/' . $hashID; // Keine Dateiendung festgelegt return $file_path; |
Wenn ich das richtig sehe hast du die arbeitgeberHashId genommen und nicht die arbeitgeberLogoHashid $logo = job_importer_get_company_logo($access_token, $job['arbeitgeberHashId']); |
Schau ich mir an danke! |
Hier eine Änderung der OpenAPI Doku zu diesem Thema: https://github.com/bundesAPI/jobsuche-api/pull/48/files#diff-d910ba2ef878f7db0223a966b81c8b3f3b65027bb39e4431bb05140171eece39R272 |
Ich habe das Problem, dass die aktuelle Abfrage keine HashID mehr liefert und ich habe versucht, die HashID aus der ref nr zu bekommen, indem ich sie in Base64 umwandle. Das scheint aber nicht zu klappen. Gibt es eine Möglichkeit die HashID aus anderen Angaben zu bekommen oder die Job Details auch über die Referenznummer abzurufen? |
Hallo @alexander-zierhut, vielen Dank für die Antwort. Ich hatte Deinen Beitrag gelesen und dann mal ausprobiert, ob ich die Referenznummer einfach in Base64 übersetzen kann. Das scheint aber nicht zu klappen. Wenn ich die Referenznummer in Base64 übersetze, dann kommt nicht die HashID raus. Ich habe das bei älteren Daten mehrfach überprüft. Mache ich hier noch was falsch? |
Hi @mokuhn Folgendes funktioniert bei mir: $hash = base64_encode($job->refnr);
$url = "https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v2/jobdetails/$hash"; Ich habe es gerade getestet. Tatsächlich kommt dabei nicht die |
Ich habe dieses Problem auch erlebt. Haben Sie eine Lösung gefunden? |
What is the exact use case why do you need it? |
I'm trying to get the 'Bewerbung' Details, such as address, email, phone number, but something went wrong. import requests
import json
import base64
def authenticate():
auth_url = "https://rest.arbeitsagentur.de/oauth/gettoken_cc"
auth_data = {
"client_id": "c003a37f-024f-462a-b36d-b001be4cd24a",
"client_secret": "32a39620-32b3-4307-9aa1-511e3d7f48a8",
"grant_type": "client_credentials"
}
response = requests.post(auth_url, data=auth_data)
if response.status_code == 200:
return response.json().get("access_token")
else:
print("Authentication failed.")
return None
def fetch_jobs(token):
jobs_url = "https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v4/jobs"
headers = {"Authorization": "Bearer " + token}
response = requests.get(jobs_url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print("Failed to fetch jobs data.")
return None
def fetch_job_details(encoded_refnr, token):
job_details_url = f"https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v2/jobdetails/{encoded_refnr}"
headers = {"Authorization": "Bearer " + token}
response = requests.get(job_details_url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print(f"Failed to fetch job details for encoded refnr: {encoded_refnr}")
return None
# Bewerbung details ----------------------------------------------------------------------------------------------------
def fetch_job_application(encoded_refnr, kundennummer_hash, token):
application_url = f"https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v3/jobs/{encoded_refnr}/bewerbung"
headers = {
"Authorization": "Bearer " + token,
"kundennummerHash": base64.b64encode(kundennummer_hash.encode()).decode()
}
response = requests.get(application_url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print(f"Failed to fetch application data for encoded refnr: {encoded_refnr}")
return None
# ----------------------------------------------------------------------------------------------------------------------------------------
# Authenticate to get the access token
access_token = authenticate()
if access_token:
# Fetch jobs data
jobs_data = fetch_jobs(access_token)
if jobs_data:
for job in jobs_data["stellenangebote"]:
encoded_refnr = base64.b64encode(job["refnr"].encode()).decode()
kundennummer_hash = job["kundennummerHash"]
job_details = fetch_job_details(encoded_refnr, access_token)
job_application = fetch_job_application(encoded_refnr, kundennummer_hash, access_token)
job["details"] = job_details
job["application"] = job_application
print(json.dumps(jobs_data, indent=4))
else:
print("No jobs data available.")
else:
print("Authentication failed. Unable to fetch jobs data.") |
Sorry to let you down but it wont work, those details are guarded by captcha as well, we tried reverse engineering the API for long time, then we decided to move in another direction. |
@MahdiELHasra I am able to retrieve the details. Can you sent me one response of |
it shows me only this : {
"stellenangebote": [
{
"beruf": "Mechatroniker/in",
"titel": "Techniker / Kfz-Mechatroniker Technischer Support (m/w/d)",
"refnr": "18032-42355927-324-S",
"arbeitsort": {
"plz": "85748",
"ort": "Garching bei M\u00fcnchen",
"strasse": "Parkring 32",
"region": "Bayern",
"land": "Deutschland",
"koordinaten": {
"lat": 48.25135228013107,
"lon": 11.632994667138373
}
},
"arbeitgeber": "in-tech GmbH",
"aktuelleVeroeffentlichungsdatum": "2024-03-25",
"modifikationsTimestamp": "2024-03-24T11:21:16.653",
"eintrittsdatum": "2024-03-25",
"kundennummerHash": "2RNUuVt1pbIKW0lJl-Z7nhWZQMgIEol5US7F52oliC4="
},
...
] How can I view the contents of the endpoint "https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v3/jobs/MTgwMzItNDIzNTU5MjctMzI0LVM/bewerbung"? Currently, it only displays a limited amount of information, but I'm interested in accessing the full content. |
Maybe using chrome driver, making a screenshot and letting an OCR model solve the captcha? With a little noise reduction in the image - took me like an hour - I think that's solvable. OCR result so far was PRANzM ... But is that even legal? |
btw.. noise reduction powered by PHP :) |
Hey ich habe eine Importer gebaut für meine Webseite der die Jobs auf miene Seite importiert. Mir fehlt jedoch sowas wie Beschreibung etc.
hier die file:
https://github.com/NKDesign30/BAFA-API/blob/main/job-importer.php
habe ich was falsch gemacht oder gibt es keine wirkliche beschreibung?
The text was updated successfully, but these errors were encountered: