Content deleted Content added
m task, replaced: 2Nd → 2nd |
m Reverted edits by 2806:263:482:1794:ADEC:812E:6500:3491 (talk) to last version by Ghent123 |
||
(37 intermediate revisions by 21 users not shown) | |||
Line 1:
{{Short description|Type of application programming interface}}
{{About|a type of application programming interface|the web service specification|OpenAPI Specification}} {{Other uses|OpenAPI (disambiguation){{!}}OpenAPI}}
An '''open API''' (often referred to as a public API) is a publicly available [[application programming interface]] that provides developers with programmatic access to a (possibly proprietary) [[Application software|software application]] or [[web service]].
==
There is no universally accepted definition of the term "Open API" and it may be used to mean a variety of things in different contexts, including:<ref>{{Cite web |last=Dodds |first=Leigh |title=What is an Open API? |url=http://blog.ldodds.com/2014/03/25/what-is-an-open-api/ |access-date=2015-11-02 |website=Lost Boy|date=25 March 2014 }}</ref>
#
#
#
== Open API versus private API ==
=== Private API ===
A private API is an interface that opens parts of an organization's backend data and application functionality for use by developers working within (or contractors working for) that organization.
Private APIs can be made "private" in a number of ways. Most commonly the organization simply chooses not to document such an interface, such as in the case of undocumented functions of Microsoft Windows, which can be found by inspection of the symbol tables.<ref>{{cite web |title=NTAPI Undocumented Functions |url=http://undocumented.ntinternals.net/ |website=undocumented.ntinternals.net}}</ref> Some Web-based APIs may be authenticated by keys, both discoverable by analysis of application traffic.<ref>{{cite web |title=A Tutorial for Reverse Engineering Your Software's Private API: Hacking Your Couch {{!}} Toptal® |url=https://www.toptal.com/back-end/reverse-engineering-the-private-api-hacking-your-couch |website=Toptal Engineering Blog |language=en}}</ref> macOS furthermore uses an "entitlement", granted only by digital signature, to control access to private APIs in the system.<ref>{{cite web |last= Mo |first= Darren |title= A helper tool that enables Optimus Player to stream audio using AirPlay 2 |website= [[GitHub]] |date= 2019-05-07 |url= https://github.com/Optimus-Player/AirPlay-Enabler |access-date= 2019-05-09 }}</ref>
Private APIs are by definition without any guarantee to the third-party developer choosing to uncover and use them. Nevertheless, the use of undocumented functions on Microsoft Windows have become so widespread that the system needs to preserve old behaviors for specific programs using the "AppCompat" database.<ref>{{cite web |last1=Pierce |first1=Sean |title=Malicious Application Compatibility Shims |url=https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf}}</ref>
=== Open API ===
In contrast to a private API, an open API is publicly available for all developers to access. They allow developers, outside of an organization's workforce, to access backend data that can then be used to enhance their own applications. Open APIs can significantly increase revenue without the business having to invest in hiring new developers making them a very profitable software application.<ref>{{Cite web|title = Beat the risks of managing public, private APIs|url = http://searchsoa.techtarget.com/feature/Beat-the-risks-of-managing-public-private-APIs|website = SearchSOA|access-date = 2015-11-04|archive-date = 2015-11-25|archive-url = https://web.archive.org/web/20151125181803/http://searchsoa.techtarget.com/feature/Beat-the-risks-of-managing-public-private-APIs|url-status = dead}}</ref><ref>{{Cite journal
== Open APIs in business ==
Line 20 ⟶ 26:
[[File:Open-APIs-v5.png|thumb|Open API business chart]]
For example,<ref>{{Cite web|title = What Are APIs, And How Are Open APIs Changing The Internet|url = http://www.makeuseof.com/tag/api-good-technology-explained/|website = MakeUseOf| date=19 February 2015 |access-date = 2015-11-02}}</ref> Yahoo's open search API allows developers to integrate [[Yahoo!|Yahoo]] search into their own software applications. The addition of this API provides search functionality to the developer's application whilst also increasing search traffic for Yahoo's search engine hence benefitting both parties. With respect to [[Facebook]] and [[Twitter]], we can see how third parties have enriched these services with their own code. For example, the ability to create an account on an external site/app using your Facebook credentials is made possible using Facebook's open API.
Many large technology firms, such as Twitter, [[LinkedIn]] and Facebook, allow the use of their service by third parties and [[Competition|competitors]].<ref>{{Cite web|title=Facebook Developer Docs|url=https://developers.facebook.com/docs/|access-date=2021-02-09|website=Facebook for Developers|language=en}}</ref><ref>{{Cite web|last=tonyxu-io|title=LinkedIn API documentation - LinkedIn|url=https://docs.microsoft.com/en-us/linkedin/|access-date=2021-02-09|website=docs.microsoft.com|language=en-us}}</ref><ref>{{Cite web|title=About
== Open APIs on the Web ==
With the rise in prominence of [[HTML5]] and Web 2.0, the modern browsing experience has become interactive and dynamic and this has, in part, been accelerated through the use of open APIs. Some open APIs fetch data from the database behind a website and these are called Web APIs. For example, Google's YouTube API allows developers to integrate YouTube into their applications by providing the capability to search for videos, retrieve standard feeds, and see related content.
Web APIs are used for exchanging information with a website either by receiving or by sending data. When a web API fetches data from a website, the application makes a
== See also ==
Line 43 ⟶ 49:
== References ==
{{Reflist}}{{Web interfaces}}
[[Category:Application programming interfaces]]
|