2010-11-27 6 views
0

То, что я хочу, и уЧто я должен знать об API?

Я готов создать API, я уже знаю, что делает API стоит. Я использую PHP как серверный язык.

Однако я не понимаю, как работает API с нуля, и как я могу разрешить пользователям использовать мой API после того, как я его создал.

То, что я думаю и знаю

Ну сейчас я думаю, что с API я позволяю разработчик достичь моих запросов к базе данных и запросов. Но зачем мне создавать полный язык для этого? Почему они не могут использовать PHP или любой другой язык на стороне сервера?

Как я уже видел, компании, которые складывают API для своего сайта, требуют регистрации, чтобы дать разработчикам API-ключ. Записываются ли разработчики в базу данных через этот API KEY? И если да, то почему у них тоже нет пароля? Если я знаю чей-то API-ключ, я могу использовать его или что?

И как я читал/слышал XML связан как-то с API, но почему и как?

Также, пожалуйста, рассмотреть в своих ответах, что я не хочу использовать какие-либо рамки или что-то вроде этого, я хочу сделать это в пустом, так что я хочу, чтобы понять, как он работает от А до Z.

+2

Вы должны удалить стиль кода API, поскольку это делает его похожим на модное слово в вашем вопросе. Кроме того, вы действительно спрашиваете о интерфейсах «Webservice RPC». Также попробуйте перечислить несколько вопросов; может дать лучшие объяснения. – mario 2010-11-27 17:00:39

ответ

1

API - это на самом деле просто методы, которые вы публично раскрываете. Скажем, например, у вас есть сайт блога. Вы хотите, чтобы ваши участники могли публиковать запись в блоге без фактического выхода на ваш сайт - вход в систему, заполнение формы и т. Д. Возможно, они хотят создать приложение Android/IPhone для публикации на вашем крутом сайте блога. Вы можете позволить им это сделать.

Создание API для этого:

<?php 
     function createBlogEntry(memberEmailAddress, memberPassWord, BlogTitle, BlogBody) 
     { 

      //Here you would usually call an internal (or not publicly exposed) method that 
      //contains the actual logic to insert. Like Jim's answer states, you just want 
      //people to be able to performan action in your system, you don't want them to see HOW you do it. 

      encapsulatedBlogCreation(memberEmailAddress, memberPassWord, BlogTitle, BlogBody); 


      //This is where API's get tricky. I need to return to the user the result of 
      // the save so that my user knows what happens. In my API documentation, I 
      //tellthe user 0 = Created Successfully. If this is a READ operation 
      //just return the result. Most modern programming languages also have 
      //a way to capture an HTTP response - so dealing with the return is their responsibility 

      return 0; 
     } 
?> 

пару вещей:

  • В моей API, я не нужен ключ разработчика, я позволил пользователю передавать в свои учетные данные для входа , Ключ API делает то же самое, он однозначно идентифицирует запрос и связывает его с пользователем в системе.
  • Этот API не использует XML. Это примерно так же просто, как и api. Это можно вызвать, отправив HTTP-запрос, который может быть выполнен с использованием любого современного языка программирования. Скажем, я поставил вышеуказанный код в файл blog.php и поместил его в корень моего блога. Я бы назвал это так:

* http: //myblogsite.com/blog.php? MemberEmailAddress = myEmal @ example.ком & memberPassWord = myPass & BlogTitle = Титульный из-пост & BlogBody = the_blog_post_is_here *

Одна вещь, вы должны понимать, что там должен быть потребность в API. Вы можете выставить метод для создания записи в блоге, но если никто не знает об этом или не использует его - это бесполезно. API необходимо документировать, рекламировать и предоставлять потенциальным пользователям преимущества.

+0

Спасибо за ваш ответ. Хорошо, я могу создавать функции, которые могут использовать люди, но как они могут их использовать, если у них нет доступа к моей базе данных? Должен ли я предоставить им данные о подключении к базе данных (имя пользователя, пароль)? И как они могут использовать мою функцию на PHP, если они не имеют ее на собственной машине? Мне нужно предоставить им файл, где есть функции и т. Д., Например, на YouTube API? – Adam 2010-11-27 17:25:11

+0

Wow man это именно то, что я хотел бы знать, даже если я не знал, что хочу xD, LINK omg, это логично так логично ...: D спасибо человеку! – Adam 2010-11-27 17:31:03

1

An API - это в основном любой интерфейс, который позволяет другим программистам получать доступ к вашей программе. Вы, вероятно, хотите сесть и подумать о том, что вы хотите, чтобы другие люди могли это сделать. Вы, как правило, не хотите предоставлять другим разработчикам чистые адреса в вашей базе данных по нескольким (мы надеемся, очевидным) причинам.

Ключи API обычно используются для управления доступом к API, их можно отправлять вместе с вызовами методов, чтобы обеспечить доступ только тем пользователям, которым вы хотите предоставить доступ. Это в основном пароли. Чтение wikipedia entry может сделать все более ясным.

+0

Большое спасибо за ваш ответ! – Adam 2010-11-27 17:23:01

1

API-интерфейс для Интерфейс программирования приложений, и мы можем думать о нем как о наборе библиотек, составленных для функций, которые вы можете повторно использовать снова и снова. Например, WIN32 API составлен для набора функций (разработанных на C/C++) для взаимодействия приложений с операционной системой, этот API включает библиотеки: kernel32.dll, advapi32.dll, gdi32.dll, user32.dll , comctl32.dll, shell32.dll.

Есть некоторые другие термины, которые вы должны знать, такие как toolkit and framework, чтобы определить, что вы хотите сделать. Обычно API-интерфейсы написаны на C/C++ и в большинстве случаев повторно используют функции, предоставляемые API Operative System.

Смежные вопросы