LINUX.ORG.RU

разрешение от gmail для thunderbird

 ,


0

2

Вот например есть thunderbird почтовый клиент. При авторизации на gmail.com появляется окно с страницей gmail, где нужно ещё раз ввести логин и пароль, и тогда gmail даст разрешение на использование для приложения. Что именно разрешает, она передаёт какие то данные или что? Хочу понять, можно ли приложение написать на проверку почты, но для этого нужно знать, что за разрешение и что передаётся.

Ответ на: комментарий от UVV

third-party

Не судьба по русски сказать «сторонних»? )))) То бишь любых лишь бы протоколы аутентификации соблюдались )

Deleted
()
Ответ на: комментарий от u0atgKIRznY5

Либа для OAuth 2.0 к примеру, но суть в том что тебе надо тащить gtkwebview для авторизации, что-бы получать токен.

Deleted
()
Ответ на: комментарий от tyamur

Да какая разница что там, приложение должно пройти авторизацию

Deleted
()
Ответ на: комментарий от tyamur

Да, но gmail считает их методы авторизации небезопасными и они воротят что-то с OAuth. А pop3/imap надо явно включать в настройках, чтобы работали.

xaizek ★★★★★
()
Ответ на: комментарий от u0atgKIRznY5

Пробовал*

А нечего пробовать, берёшь библиотеку и используешь ту часть функционала которая тебе нужна, на тебе для упрощения мой кусок кода. Разберёшся, суть в получении токена

#include "../include/webview.h"

void webview_create(webview * view)
{
    view->window  =  gtk_window_new(GTK_WINDOW_TOPLEVEL);
    view->webview =  WEBKIT_WEB_VIEW(webkit_web_view_new());
    WebKitWebSettings *settings = webkit_web_settings_new ();
    g_object_set (G_OBJECT(settings), "enable-default-context-menu", FALSE, NULL);
    webkit_web_view_set_settings (WEBKIT_WEB_VIEW(view->webview), settings);

    if(view->sizex == 0 && view->sizey == 0)
    {
        view->sizex=800;
        view->sizey=600;
    };
    gtk_window_set_default_size(GTK_WINDOW(view->window), view->sizex, view->sizey);
    gtk_window_set_resizable(GTK_WINDOW(view->window), FALSE);
    gtk_window_set_position (GTK_WINDOW(view->window), GTK_WIN_POS_CENTER); 
    gtk_container_add(GTK_CONTAINER(view->window), GTK_WIDGET(view->webview));
}

void webview_set_size(webview * view,int sizex,int sizey)
{
    view->sizex=sizex;
    view->sizey=sizey;
    if(view->window != NULL)
    {
        gtk_window_set_default_size(GTK_WINDOW(view->window), view->sizex, view->sizey);
      //gtk_widget_set_size_request(GTK_WIDGET(view->webview), view->sizex, view->sizey);
    }
}

void webview_set_url(webview * view,char * url)
{
    assert(url);
    webkit_web_view_load_uri(view->webview,url);
    if(view->setter_url)
    {
        free(view->setter_url);
    };
    view->setter_url = malloc(sizeof(char)*strlen(url));
    strcpy(view->setter_url,url);
}

char *  webview_get_url(webview * view)
{
    char * url_buffer;
    url_buffer =(char*) webkit_web_view_get_uri (view->webview);
    if(view->curent_url)
    {
        free(view->curent_url);
    };
    view->curent_url = malloc(sizeof(char)*strlen(url_buffer));
    strcpy(view->curent_url,url_buffer);
    return view->curent_url;
}

void webview_delete(webview * view)
{
    gtk_widget_destroy((GtkWidget *)view->webview);
    gtk_main_quit();
    free(view->curent_url);
    free(view->setter_url);
    free(view);
}

void webview_show(webview * view)
{
     gtk_init(NULL,NULL);
     g_signal_connect(view->window, "destroy", G_CALLBACK(webview_delete), NULL);
     g_signal_connect(view->webview, "close",  G_CALLBACK(webview_delete), NULL);
     gtk_widget_grab_focus(GTK_WIDGET(view->webview));
     gtk_widget_show_all(view->window);
     gtk_main();
}

Deleted
()
Ответ на: комментарий от Deleted

То бишь любых лишь бы протоколы аутентификации соблюдались )

Т.е. как года 4 назад просто в перле с imap уже нельзя работать с gmail?

gag ★★★★★
()
Ответ на: комментарий от gag

Т.е. как года 4 назад просто в перле с imap уже нельзя работать с gmail?

Ну я помню пробывал другие почтовые клиенты, даже от kde, они не открывали окно авторизации на gmail, и поэтому не принимали почту от gmail.

u0atgKIRznY5
() автор топика
Ответ на: комментарий от gag

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

Попробуй, чёрт его знает. Год назад у меня всё что не оаутч всё не работало =)

Deleted
()
Ответ на: комментарий от gag

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

anonymous
()
Ответ на: комментарий от i-rinat

Это кусок старого кода, которого у меня тонны валяется rm ./* жалко делать. А дорабатывать смысла нет.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.