In the docs on user auth, it says
This request is responded to with either an error (HTTP status code 400) or an access token of the form
access_token=...&expires=1234
.expires
will only be set if scope does not includeno_expiry
, the use of which is strongly advised against unless your app truly needs perpetual access.
Emphasis mine.
With expiration turned off you could request write access once and then keep it for later uses, instead of asking every time it expires. It would make applications much simpler, and the user could revoke permissions anytime.
So why do the docs say that no_expiry
shouldn't be used unless required?