Flickr 'Invalid auth token (98)' Загрузка видео из приложения Asp.net - PullRequest
7 голосов
/ 29 июня 2011

Я пытаюсь разрешить пользователю загружать видео на Flickr из приложения Asp.net с использованием библиотеки / API FlickrNet. Я получил ключ API и секрет API от Flickr. Кроме того, я получаю authToken с помощью метода AuthGetFrob из библиотеки FlickrNet.

Мои заявления следующие:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FlickrNet;

Я создал два метода для выполнения этой задачи.

Тот, который получает и возвращает AuthToken

private string GetAuthenticateToken()
{
    Flickr flickr = new Flickr(FLICKR_API_KEY, FLICKR_API_SECRET);

    string frob = flickr.AuthGetFrob();

    return flickr.AuthCalcUrl(frob, AuthLevel.Write);
}

И одна загрузка файла с использованием этого AuthToken

public void UploadFile(string fileName, string title, string description)
{
    try
    {

        string authToken = GetAuthenticateToken();

        Flickr flickr = new Flickr(FLICKR_API_KEY, FLICKR_API_SECRET, authToken);


        string photoId = flickr.UploadPicture(fileName, title, description, "", true, false, false);
        }
    catch (Exception ex)
    {
        throw ex;
    }
}

Однако, когда я звоню 'UploadPicture', выдается следующее исключение. «Неверный токен авторизации (98)».

Содержимое запроса AuthRequest Http выглядит следующим образом.

<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="ok">
<frob>72157627073829842-9d8e31b9dcf41ea1-162888</frob>
</rsp>

А содержимое Http-запроса методов загрузки выглядит следующим образом.

<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="fail">
    <err code="98" msg="Invalid auth token" />
</rsp>

Я видел похожий пост на форумах flickr здесь , но, исходя из моего понимания, кажется, что я все делаю правильно, но все еще не могу понять, что я делаю неправильно.

Любая помощь будет принята с благодарностью.

1 Ответ

5 голосов
/ 29 июля 2011

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

AuthCalcUrl возвращает URL, а не фактический токен аутентификации. Кроме того, это больше для настольной аутентификации, а не веб-аутентификации. В сообщении на форуме, на которое вы ссылаетесь, говорится о мобильной аутентификации. Для веб-аутентификации вам необходимо выполнить последовательность действий, подробно описанную здесь: Итак, вы вызываете Flickr.AuthCalcWebUrl, а затем перенаправляете пользователя на этот URL. Затем, после проверки подлинности, они будут отправлены на URL-адрес обратного вызова, настроенный в настройках вашего ключа API. Этот URL будет содержать лягушку. Затем, наконец, на веб-странице URL обратного вызова вы получаете лягушку из строки запроса и вызываете Flickr.AuthGetToken (frob); Если вы хотите увидеть это в действии, загрузите пример веб-сайта ASP.Net со страницы примера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...