(Un) அதிகாரப்பூர்வ Habr பயன்பாடு - HabrApp 2.0: அணுகலைப் பெறுகிறது

ஒரு சோகமான மற்றும் ஏற்கனவே மிகவும் சலிப்பான மாலை, நான், கடந்து செல்கிறேன் அதிகாரி ஹப்ர் அப்ளிகேஷன், மீண்டும் ஒருமுறை என் விரல்களை வளைத்தேன், வேலை செய்யாத ஒவ்வொரு அம்சத்திற்கும் ஒன்று. இங்கே, எடுத்துக்காட்டாக, நீங்கள் கருத்து தெரிவிக்க முடியாது, இங்கே உங்களுக்கு வாக்களிக்கும் உரிமை மறுக்கப்படுகிறது, பொதுவாக, சூத்திரங்கள் ஏன் திரையில் தெரியவில்லை?

(Un) அதிகாரப்பூர்வ Habr பயன்பாடு - HabrApp 2.0: அணுகலைப் பெறுகிறது
இது முடிவு செய்யப்பட்டது: எங்களுக்கு வசதியான, இனிமையான, சொந்தமாக ஏதாவது தேவை. ஹப்ருக்கான உங்கள் சொந்த விண்ணப்பத்தைப் பற்றி என்ன?
நிலைமையைப் புரிந்துகொள்ள சில ஸ்கிரீன் ஷாட்களைத் தருகிறேன்.

(Un) அதிகாரப்பூர்வ Habr பயன்பாடு - HabrApp 2.0: அணுகலைப் பெறுகிறதுஇது போன்ற ஒன்று தெரிகிறது அது - இன். habr.com பயன்பாடு

"சௌகரியங்கள்" பட்டியல்

  • 0 இலிருந்து வேறுபட்ட மதிப்பீட்டைக் கொண்ட வெளியீட்டை நீங்கள் மதிப்பிட முடியாது
  • கருத்து எழுதுவது எப்போதும் சாத்தியமில்லை
  • கருத்துக்கணிப்புகள் வேலை செய்யாது
  • இருண்ட தீமில் சூத்திரங்கள் தெரியவில்லை (கருப்பு மற்றும் கருப்பு)
  • எல்லா புக்மார்க்குகளும் கிடைக்காது

ஆம், கடந்த ஆண்டு ஆகஸ்ட் மாதத்திலிருந்து ஆப்ஸ் புதுப்பிக்கப்படவில்லை, ஆனால் அது இன்னும் மோசமாக உள்ளது. பொதுவாக, அது சரி செய்யப்பட வேண்டும்.

பகுதி ஒன்று. அணுகலைத் தேடுகிறது.

விரைவு கூகுள் வினவல் "habrahabr API" அது ஏற்கனவே மிகவும் காலாவதியானது என்று கூறுகிறது களஞ்சியம் Github இல், பின்னர் புதுப்பிக்கப்படவில்லை நவம்பர் 21 2016, மற்றும் இது, ஒரு கணம், இரண்டரை ஆண்டுகள்.

இது PHP என்ற உண்மையைப் புறக்கணித்து, கீழே உருட்டிப் படிக்கவும்:

விண்ணப்ப ஐடியைப் பெறுதல்

பயன்படுத்திக் கொள்வது இந்த வடிவம் Habrahabr இல், நீங்கள் புதிய பயன்பாட்டின் சாராம்சத்தையும் அதற்கு API தேவைப்படுவதையும் சுருக்கமாக விவரிக்க வேண்டும்.

எந்த கேள்வியும் இல்லை, நீங்கள் அணுகலைப் பெற வேண்டும் என்றால், உங்களுக்கு அது தேவை. நாங்கள் ஒரு கடிதத்தை எழுதுகிறோம் (சுருக்கமாக):

கடிதம்

PWA அடிப்படையில் Habr க்கு விண்ணப்பம் செய்ய விருப்பம் உள்ளது. இதற்கு பல காரணங்கள் உள்ளன. 

முதல் மற்றும் மிகவும் வெளிப்படையானது: Android பயன்பாடு எனது தனிப்பட்ட தேவைகளைப் பூர்த்தி செய்யவில்லை.

இரண்டாவது: பொதுவாக மின்னஞ்சல் மூலம் வரும் அனைத்து வகையான விஷயங்களைப் பற்றியும் போதுமான சொந்த அறிவிப்புகள் இல்லை (கருத்துகள், எடுத்துக்காட்டாக).

மூன்றாவது: எனது நலன்களைக் கருத்தில் கொண்டு, எனக்கு ஆர்வமுள்ள நபர்கள்/ஹப்கள் குறித்த தனிப்பட்ட ஆய்வுகள் (ஒரு கண்ணோட்டமாக).

பதில், நிச்சயமாக, மிகவும் இனிமையானது அல்ல, ஆனால் குறைந்தபட்சம் நேர்மையானது:

துரதிர்ஷ்டவசமாக, எங்கள் APIக்கான அணுகல் தற்போது கிடைக்கவில்லை. API ஐ முடித்த பிறகு அணுகலை வழங்குவதை மீண்டும் தொடங்க திட்டமிட்டுள்ளோம், ஆனால் எங்களிடம் சரியான தேதிகள் எதுவும் இல்லை, ஏனெனில் நாங்கள் தற்போது மற்ற முன்னுரிமைப் பணிகளைத் தீர்ப்பதில் மும்முரமாக இருக்கிறோம்.

"சரி, பிரச்சனை இல்லை! நாங்கள் ஏதாவது கொண்டு வருவோம்!" - நானே சொல்லிக் கொண்டு தேட ஆரம்பித்தேன்.

பாகம் இரண்டு. ஆழமான அகழ்வாராய்ச்சிகள்.

தர்க்கத்தின் அடிப்படையில், பயன்பாடு இயங்கினால், அது APIக்கான அணுகலைக் கொண்டுள்ளது, மேலும் அது பயன்பாட்டில் கடினமாக இணைக்கப்பட்டுள்ளது. அலசுவோம்.

நாங்கள் போக்குவரத்தை கையாள்வதால், வயர்ஷார்க் எங்கள் விருப்பம். சில வலிகள் இல்லாமல், டெஸ்க்டாப் கணினி வழியாக தொலைபேசியை இணையத்துடன் இணைத்த பிறகு, நாங்கள் பயன்பாட்டைத் திறந்து கோரிக்கைகளைப் பார்க்கிறோம்:

(Un) அதிகாரப்பூர்வ Habr பயன்பாடு - HabrApp 2.0: அணுகலைப் பெறுகிறது
எதுவும் தெளிவாக இல்லை என்பதை அழிக்கவும்

ஆம், அனைத்தும் குறியாக்கம் செய்யப்பட்டுள்ளன, ஆனால் குறியாக்கவியலில் நான் குழப்பமடைய விரும்பவில்லை. பின்னர் நீங்கள் பயன்பாட்டின் உள்ளே பார்க்க வேண்டும்.

தொகுக்கப்பட்டது .apk, தேட ஆரம்பிக்கலாம். எந்த API க்கு என்ன தேவை? சரி, இறுதிப்புள்ளி, அனைத்து கோரிக்கைகளும் செல்லும் இடம். இது அநேகமாக http(கள்) ஆக இருக்கலாம், "https://"ஐக் கண்டுபிடிக்க முயற்சிப்போம்:

கோப்பில் AuthLinkManager.smali நாங்கள் கண்டுபிடிக்கிறோம்

.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"

இது ஆண்ட்ராய்டு மெய்நிகர் இயந்திரத்திற்கான குறியீடு (டால்விக் வி.எம்), மனிதர்களுக்கு மிகவும் புரிந்துகொள்ள முடியாதது, ஆனால் இன்னும் மிகவும் தகவல். இந்த மூன்று மாறிலிகள், அவற்றின் உள்ளடக்கம் மற்றும் பெயர், அத்துடன் GitHub களஞ்சியத்தின் அடிப்படையில் ஆராயும் முறையைப் பயன்படுத்தி அணுகல் டோக்கனைக் கோரப் பயன்படுத்தப்படுகின்றன. GET.

மேலும் பார்ப்போம். தேடலில் அடுத்து வரும் கோப்பு NetworkModule.smali:

const-string v0, "https://habr.com/api/v1/"

உங்கள் கோரிக்கைகளுடன் செல்ல வேண்டிய இடம் இதோ!

சுயமாக எழுதப்பட்ட கிளையன்ட் சரியாக வேலை செய்ய, கண்டுபிடிக்க ஒரே ஒரு விஷயம் மட்டுமே உள்ளது - client_id, இது பயன்பாட்டிற்கான தனிப்பட்ட அடையாளங்காட்டியாக இருக்கலாம்.

இருப்பினும், மூலக் குறியீட்டில் இந்த உரையைத் தேடுவது தொடர்புடைய தகவலைக் கண்டறிய வழிவகுக்கவில்லை...

ஆனால் திடீரென்று ஒரு கோப்பில் என் கண்கள் சில சுவாரஸ்யமான வரிகளைப் பிடித்தன:

const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

இது, நீங்கள் புரிந்து கொண்டபடி, ஒரு பதிவு உள்ளீடு. ஆனால் என்ன பதிவு செய்வது?

பகுதி மூன்று. பதிவுகள் இவை!

பயன்படுத்த adb logcat விண்ணப்பப் பதிவுகளைப் பார்க்க.

(Un) அதிகாரப்பூர்வ Habr பயன்பாடு - HabrApp 2.0: அணுகலைப் பெறுகிறது

எதிர்பாராத விதமாக, பதிவுகள் எதிர்பார்த்ததை விட இன்னும் விரிவாக இருந்தன.

இங்கு நமக்கு தேவையானது மட்டும் இல்லை client_idஆனால் டோக்கன் பயனர்/பயன்பாடு, மற்றும் உள்நுழைவு и கடவுச்சொல்லை எளிய உரையில்!

சில சதி கோட்பாடுகள்பதிவுகளில் உள்நுழைவு மற்றும் கடவுச்சொல் இருப்பதால் எதற்கும் தீங்கு விளைவிக்காது, ஏனெனில் இந்த பதிவுகளை ரூட் உரிமைகள் அல்லது இணைப்பு மூலம் மட்டுமே படிக்க முடியும். adb. ஆனால் ஹப்ரைப் படிக்கும் மக்களிடையே ஆண்ட்ராய்டு டெவலப்பர்கள் இருப்பதால், அவர்கள் பிழைத்திருத்தத்தை இயக்கியிருக்கலாம், இது ஒரு சிக்கலாகும்.

இந்த வழக்கில், விமான நிலையத்தில் "இலவச கட்டணம்" கணக்கில் திருடப்படலாம், ஆனால் அது யாருக்கு தேவை?
இந்த பதிவுகளிலிருந்து நாம் பிரித்தெடுக்கலாம்:

  • client_id и apikeyஅணுக வேண்டும் API;
  • பயனர் அங்கீகார URL (விசித்திரமானது, ஆனால் இந்த முறையைப் பற்றி களஞ்சியத்தில் எதுவும் இல்லை, ஒருவேளை இது வழங்கப்படவில்லையா?)

அப்படித்தான் நடந்தது. இந்த சிறிய ஆராய்ச்சியின் அடிப்படையில், ஒரு சிறிய திட்டத்தில் ஏற்கனவே வேலை நடந்து வருகிறது - மொபைல் பயன்பாட்டின் எங்கள் சொந்த செயல்படுத்தல். ஒரு செய்தியை எழுத உதவ விரும்புவோர், மற்ற அனைவருக்கும் - வாக்களிக்குமாறு கேட்டுக்கொள்கிறேன் (ஏனென்றால் இது யாருக்காவது தேவையா என்பதை நான் புரிந்து கொள்ள விரும்புகிறேன்).

உங்கள் கவனத்திற்கு நன்றி!

பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.

நீங்கள் Habr மொபைல் பயன்பாட்டைப் பயன்படுத்துகிறீர்களா?

  • ஆம், நான் அதைப் பயன்படுத்துகிறேன், அதில் நான் மகிழ்ச்சியடைகிறேன்

  • ஆம், நான் அதைப் பயன்படுத்துகிறேன், பயன்பாடு சிரமத்தை ஏற்படுத்துகிறது

  • இல்லை, எனது மொபைலில் இணையப் பதிப்பைப் பயன்படுத்துகிறேன்

  • இல்லை, நான் எனது கணினியிலிருந்து Habr ஐப் பயன்படுத்துகிறேன்

357 பயனர்கள் வாக்களித்தனர். 30 பயனர்கள் வாக்களிக்கவில்லை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்