2011-06-29 9 views
7

Próbuję zezwolić użytkownikowi na przesyłanie filmów do serwisu Flickr z aplikacji Asp.net przy użyciu biblioteki/interfejsu FlickrNet. Otrzymałem klucz API i tajny interfejs API z Flickr. Dodatkowo pobieram authToken za pomocą metody AuthGetFrob z biblioteki FlickrNet.Flickr 'Nieprawidłowy token uwierzytelniania (98)' Przesyłanie filmów z aplikacji Asp.net

moich użyciu instrukcji są następujące

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

Stworzyłem dwa sposoby realizacji tego zadania.

Jeden który pobiera i zwraca AuthToken

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

    string frob = flickr.AuthGetFrob(); 

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

I ONE przesyła plik Korzystanie że 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; 
    } 
} 

Jednak, kiedy nawiązać połączenie do 'UploadPicture zwanej dalej' następujący wyjątek został zgłoszony. "Nieprawidłowy token uwierzytelniania (98)".

Treść żądania HTTP żądania HTTP jest następująca.

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

A treść żądania Http metod wysyłania wygląda następująco.

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

Widziałem podobny post na forum Flickr here ale na podstawie mojego rozeznania wynika, że ​​robię wszystko jeszcze prawo nadal nie mogę zrozumieć, co robię źle.

Każda pomoc zostanie bardzo doceniona.

Odpowiedz

5

Okej, więc nie cierpię odpowiadać na moje własne pytania, szczególnie te, które nie otrzymały głosów, żadnych odpowiedzi i bardzo niewielu poglądów, niemniej jednak otrzymałem odpowiedź od wsparcia w Flickr, więc pomyślałem, że równie dobrze mogę opublikować tutaj na wypadek, gdyby ktoś inny znalazł to zastosowanie.

AuthCalcUrl zwraca adres URL, a nie faktyczny token uwierzytelniania. To samo dotyczy raczej uwierzytelniania na komputerze niż uwierzytelniania w Internecie. Wpis na forum, do którego prowadzi link, dotyczy mobilnego uwierzytelniania. Aby uwierzytelnianie sieci WWW było konieczne, należy: follow the flow detailed here: Wezwać użytkownika Flickr.AuthCalcWebUrl, a następnie przekierować użytkownika do tego adresu URL. Następnie po uwierzytelnieniu zostaną wysłane do adresu URL połączenia zwrotnego skonfigurowanego w ustawieniach klucza API. Ten adres URL będzie zawierał frob. Następnie na stronie URL wywołania zwrotnego otrzymujemy frob z zapytania i wywołujemy Flickr.AuthGetToken (frob); Jeśli chcesz zobaczyć to w akcji, pobierz przykładową witrynę ASP.Net ze strony przykładowej.

Powiązane problemy