دليل واجهة برمجة تطبيقات الناشرين (API)

يوثق هذا القسم واجهات برمجة تطبيقات البوابة الوطنية للبيانات المفتوحة للناشرين الذين يرغبون في كتابة كود يتفاعل مع البوابة وبياناتهم.

يرجى الضغط لحميل دليل المستخدم للناشرين

مفاتيح المصادقة وواجهة برمجة التطبيقات

تتطلب بعض وظائف واجهة برمجة التطبيقات التفويض، و تستخدم واجهة برمجة التطبيقات نفس وظائف التفويض والتكوين مثل واجهة الويب، فإذا كان المستخدم مفوض له القيام بشيء في واجهة الويب، سيتم تفويضه للقيام بذلك أيضا عبر واجهة برمجة التطبيقات.

عند استدعاء إحدى وظائف واجهة برمجة التطبيقات التي تتطلب تفويض، يجب عليك المصادقة على نفسك من خلال تزويد مفتاح واجهة برمجة التطبيقات مع طلب HTTP الخاص بك. للعثور على مفتاح واجهة برمجة التطبيقات الخاص بك ، قم بتسجيل الدخول إلى موقع http://data.gov.sa باستخدام واجهة الويب الخاصة به وقم بزيارة صفحة ملف تعريف المستخدم الخاص بك.

To provide your API key in an HTTP request, include it in either an Authorization or X-API-Key header. (The name of the HTTP header can be configured with the apikey_header_name option in your configuration file.)

request = urllib2.Request('https://data.gov.sa/api/3/action/dashboard_activity_list')
request.add_header('Authorization', 'XXX')
response_dict = json.loads(urllib2.urlopen(request, '{}').read())

على سبيل المثال، باستخدام واجهة برمجة تطبيقات البوابة الوطنية للبيانات المفتوحة يمكنك: استيراد مجموعات البيانات باستخدام واجهات برمجة التطبيقات

إضافة مجموعات البيانات

يمكنك إضافة مجموعات البيانات باستخدام واجهة الويب، وعند استيراد العديد من مجموعات البيانات عادة ما تكون أتمتة العملية أكثر فعالية بصورة ما. سنوضح لك في هذا المثال كيفية استخدام واجهة برمجة التطبيقات لكتابة نص بايثون لاستيراد مجموعات البيانات إلى data.gov.sa

اجعل هذا النص أكثر أهمية (على سبيل المثال، اقرأ البيانات من ملف CSV)، وقم بوضع النص في ملف .py في مكان ما مع الاختبارات واستورده هنا.

#!/usr/bin/env python;

import urllib2

import urllib

import json

import pprint

# Put the details of the dataset we're going to create into a dict.

dataset_dict = {

'name': 'my_dataset_name',

'notes': 'A long description of my dataset',

'owner_org': 'org_id_or_name'

}

# Use the json module to dump the dictionary to a string for posting.

data_string = urllib.quote(json.dumps(dataset_dict))

# We'll use the package_create function to create a new dataset.

request = urllib2.Request(

'https://www.data.gov.sa/api/action/package_create')

# Creating a dataset requires an authorization header.

# Replace *** with your API key, from your user account on the http://data.gov.sa site

# that you're creating the dataset on.

request.add_header('Authorization', '***')

# Make the HTTP request.

response = urllib2.urlopen(request, data_string)

assert response.code == 200

# Use the json module to load the response into a dictionary.

response_dict = json.loads(response.read())

assert response_dict['success'] is True

# package_create returns the created package as its result.

created_package = response_dict['result']

pprint(created_package)

vote: 
Average: 1 (1 vote)

التعليقات

لاتوجد نتيجة متاحة