2014-01-13 11 views
0

Я использовал проект Python Starter, и я могу добавить карты временных линий, которые затем отображаются на моем стекле.Позвоните Python QuickStart Mirror API удаленно

То, что я хотел бы сделать, это вызвать конечные точки из автономного приложения, запущенного на моем Mac, чтобы вызвать логику Python для вставки записей в временную шкалу.

Любые идеи о том, с чего мне следует начать?

Редактировать: Не знаете, почему это было проголосовано. В основном я хотел вставить карты в свою временную линию от Objective C. После долгого поиска я смог понять это, используя библиотеки Objective C, которые Google обеспечивает для взаимодействия со своими службами.

ответ

1

Ваш код, который вставляет элементы временной шкалы, будет в значительной степени одинаков, но для получения вашего токена доступа вам потребуется использовать другой поток. Вероятно, вы захотите использовать OAuth 2.0 flow for installed applications, который также является документом в Python API Client Library docs.

Ваша посуда может работать что-то вроде этого:

  1. Создать новый поток

    from oauth2client.client import OAuth2WebServerFlow 
    ... 
    flow = OAuth2WebServerFlow(client_id='your_client_id', 
            client_secret='your_client_secret', 
            scope='https://www.googleapis.com/auth/glass.timeline', 
            redirect_uri='urn:ietf:wg:oauth:2.0:oob') 
    
  2. Создать учетную URL идентификации и проинструктировать пользователя для доступа к нему в веб-браузере

    auth_uri = flow.step1_get_authorize_url() 
    print 'Please navigate here ' + auth_uri 
    

    Это даст код. Попросите пользователя вставить этот код для вас.

  3. Обмен код для учетных

    credentials = flow.step2_exchange(code) 
    
  4. хранить эти учетные данные для последующего использования в файле базы данных, или некоторые другие постоянные хранения. Вот как вы введете элементы на временной шкале пользователя.

  5. Использование учетных данных, вставить элемент в их сроки

    http = httplib2.Http() 
    http = credentials.authorize(http) 
    
    mirror_service = build("mirror", "v1", http=http) 
    body = { 
        'notification': {'level': 'DEFAULT'}, 
        'text':'Hello world!' 
    } 
    
    timeline_item = mirror_service.timeline().insert(body=body).execute() 
    
+0

Дженни - Я думаю, что это помогает, но я на самом деле пытается сделать что-то другое. На самом деле, я пытаюсь вызвать свой API-интерфейс Python Mirror из приложения Objective C. Я вижу в main_handler.py, что метод post имеет аннотацию (@ util.auth_required). – Beebunny

+0

То, что я в основном пытаюсь сделать, это сделать запрос на отправку к моему приложению i.e. myapp.appspot.com и передать ему правильное значение для переменной POST «операция». – Beebunny

+0

@ util.auth_required - декоратор oauth. Это функция клиентской библиотеки API Google Python, которая автоматизирует некоторые части потока OAuth. Но мне любопытно, действительно ли вы выполняете Python в своем приложении Objective C или просто пытаетесь узнать, как его реализовать в Objective C? – mimming